Systems and methods for visual presentation and selection of ivr menu

ABSTRACT

Embodiments of the present invention provide a system for enhancing user interface with vendors (service providers). The system may provide visual IVR menu to a user to enable the user to select an option there from. Further, the system may include a call-parking module communicably coupled to an application (at a user device) through the internet and configured for guiding the application based on a user request to perform at least one of: a) dialing a telephone number corresponding to the user request, the user request being determined based on a user selection from a visual IVR menu corresponding to the telephone number; b) inputting one or more required DTMF inputs at particular intervals; and c) connecting a user corresponding to the user device with the selected option corresponding to the IVR or on detection of human voice.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation In Part (CIP) of U.S. Non-provisional application Ser. No. 14/568,120 entitled ‘SYSTEMS AND METHODS FOR VISUAL PRESENTATION AND SELECTION OF IVR MENU’ which was filed on Dec. 12, 2014. U.S. Non-provisional application Ser. No. 14/568,120 is a Continuation of U.S. Non-provisional application Ser. No. 13/934,248 entitled ‘SYSTEMS AND METHODS FOR VISUAL PRESENTATION AND SELECTION OF IVR MENU’ which was filed on Jul. 3, 2013. U.S. Non-provisional application Ser. No. 13/934,248 which is a Continuation of U.S. Non-Provisional application Ser. No. 13/245,212 entitled ‘SYSTEMS AND METHODS FOR VISUAL PRESENTATION AND SELECTION OF IVR MENU’ which was filed on Sep. 26, 2011, and is now U.S. Pat. No. 8,345,835. U.S. Non-provisional application Ser. No. 13/245,212 which is a Continuation of U.S. Non-Provisional application Ser. No. 13/186,984 entitled ‘SYSTEMS AND METHODS FOR VISUAL PRESENTATION AND SELECTION OF IVR MENU’ which was filed on Jul. 20, 2011, and is now U.S. Pat. No. 8,903,073.

FIELD OF THE INVENTION

The invention relates to Interactive Voice Response (IVR) system and more specifically the invention relates to visual selection of IVR option from a caller device.

BACKGROUND OF THE INVENTION

Interactive Voice Response (IVR) technology is generally used to detect voice and key inputs from a caller. The advent of Interactive Voice Response (IVR) systems has reduced operating costs for many types of businesses for providing services. Generally, the IVR systems allow a user to interact with an audio or visual response system. The IVR systems can provide prompts to a user and receive touch tone and/or spoken responses on the prompts from the user. Through such IVR dialogue the system collects sufficient information about the user to direct the call to the most appropriate resource, information processing system or the like.

Generally, when the caller calls a destination, such as a bank, an automated audio IVR menu is played. The audio IVR menu can contain instructions to provide instant services such as account balance inquiry when the destination is a bank. Further, audio menu can provide options for the caller to connect to a desired end inside the destination. For example, the menu may direct the caller to press various keys on a telephone to connect to a particular department or agent. The audio IVR menu is designed specific to a destination. Therefore, each destination or organization may have different audio IVR menus. Further, the IVR menu in an organization can be based on the type of departments, type of services, customer care executives or agents and so forth. For example, an IVR menu of a bank may include options related to the account details of the caller, while an IVR menu of a pizzeria may contain options to order or select a pizza.

Typically, the caller calling the destination may have to listen and follow instructions on the menu to get a desired response or a function performed. Therefore, the process can be time consuming. Moreover, in case the caller provides an incorrect input, the complete process may have to be repeated. Furthermore, the IVR menu for an organization may be updated or changed regularly. For example, extension numbers inside an organization may be changed and correspondingly, the extension numbers associated with the IVR menu may be updated. As a result, a frequent caller may not be able to reach a desired end by remembering a combination of numbers. Furthermore, the dialed destination may not include the information desired by the user. In such a case, the user may have to call the destination again for retrieving the desired information. Therefore, the user may become frustrated with the IVR systems.

Usually, the IVR menus are same for all the users. Therefore, the customer has to listen them carefully to select the appropriate option. The user may have to wait for long time for receiving information while interacting with the IVR systems. Moreover, sometimes the requested information might not be available at the time when the user calls the destination. Therefore, the user may have to either wait for long time or call again later. For example, the user may desire to talk to a customer care executive of the destination, who is busy at the time of the call. Therefore, the call of the user may be put on hold or he may be asked to call later.

Some prior art try to address this problem by providing visual form of IVR. These prior arts display the IVR menu graphically on a caller device. U.S. Pat. No. 7,215,743 assigned to International Business Machines Corporation and a published U.S. patent application with Ser. No. 11/957,605, filed Dec. 17, 2007 and assigned to Motorola Inc., provides the IVR menu of the destination in a visual form to the caller. The caller can select the options from the IVR menu without listening to the complete audio IVR menu. However, the IVR menu displayed on the caller device is stored on an IVR server at the destination end. As a result, the visual IVR menu is specific to the destination and only the IVR of the destination dialed is displayed. These techniques therefore, require each destination to set-up hardware, software and other facilities to be deployed for providing visual IVR servers.

A U.S. Pat. No. 7,460,652, assigned to AT&T Intellectual Property I, L.P., discloses techniques for call routing and communication with a call originator. The call may be received at an automated call handling system. Thereafter, the call is evaluated based on a set of business rules and routed to an interactive voice response unit based on the evaluation. Further, the interactive voice response unit automatically schedules and sends an email to the originator of the call. However, the scheduling of the email is performed after establishing a communication with the automated call handling system. Moreover, the scheduling is performed at the automated call handling system.

Another existing technique as disclosed in U.S. Pat. No. 6,560,320 assigned to International Business Machines Corporation enables an operator of the IVR to send customized signals to the caller for generating and displaying graphical elements on the device of the caller. Thereafter, the caller can respond by selecting options through touch-screen interface of the device. Dual Tone Multi frequency (DTMF) signals of the IVR. However, this technique requires a specifically configured device to interpret the codes sent as Dual Tone Multi frequency (DTMF) signals for generating the graphics. Moreover, an operator is required to present the graphics to the caller. Furthermore, specialized software and hardware are required at the operator to design and generate DTMF codes. Therefore, the technique faces various practical limitations.

Generally, the IVR menus of the organizations are in form of audible menu. Moreover, there are a large number of organizations that use IVR menus. Therefore, converting the audible menus to visual IVR menus can be time consuming. An existing technique, as disclosed in U.S. Pat. No. 6,920,425 assigned to Nortel Networks Limited, discloses an automated script to convert the audible menus scripts to visual IVR menu scripts. However, the audible menus scripts must be available in a particular format to enable the conversion. Furthermore, the audio menu scripts must be available or downloadable for the program to function. As a result, only the audio menus scripts that are available can be converted to visual IVR menu scripts. Furthermore, the device of the caller must be designed or programmed to understand the visual IVR menu scripts.

Various organizations encourage the customers to call them for information on their products or services, or for helping existing customers. Generally, a contact number is provided by the organizations on their website as a button. Therefore, when the customer presses the button a form is displayed. The customer then enters his contact number where an executive from the organization may call. However, this may be time consuming for the customer. Moreover, the customer may be not being able to talk to another executive during the call in case the on-line executive is not able to satisfy the customer. U.S. patent application with Ser. No. 12/049,021, filed Mar. 14, 2008 and assigned to Harprit Singh, provides methods and systems for displaying an IVR menu, when the caller clicks a link on a webpage provided by the organization. However, the customer is still required to request the webpage with embedded information from a server of the organization. Moreover, the methods and systems are limited to the organizations that provide the required webpage to the customers. Other technologies include U.S. patent application with Ser. No. 11/877,952 filed Oct. 24, 2007 and assigned to International Business Machine Corporation.

The effectiveness of providing the IVR in visual form is discussed in a technical paper titled, ‘The Benefits of Augmenting Telephone Voice Menu Navigation with Visual Browsing and Search’ by Min Yin et al. The paper discusses a setup where visual content of the IVR is sent from a service provider to a computer connected to a mobile phone. However, the technique discussed in the paper is limited to the visual content provided by the service provider's end, after the connection is established. Moreover, the providers are required to individually set up the hardware and services for providing visual content.

As discussed above the existing technologies have various limitations. Hence, techniques are desired for providing enhanced telephony.

SUMMARY

An enhanced telephone system is provided. The telephone system comprises a database that comprises one or more phone numbers and one or more menus corresponding to the phone numbers, wherein the menus comprise one or more options for selection. The telephone system comprises means for comparing a dialed number to the phone numbers in the database; means for displaying a menu based on a result of the comparison; means for enabling selection of the one or more options from the displayed menu; and means for establishing a connection with a destination of the dialed number based on the selection of the one or more options.

An enhanced telephone system is provided. The telephone system comprises a database comprising one or more phone numbers and one or more menus corresponding to the phone numbers, wherein the menus comprises one or more options for selection; means for comparing the a received number of a received call to the phone numbers in the database; means for displaying a menu based on a result of the comparison; and means for enabling selection of the one or more options from the displayed menu.

Further, a method for providing enhanced telephony is provided. The method comprising identifying a number dialed from a telephone system; comparing the dialed number to one or more phone numbers stored in a database, wherein the database comprises one or more menus corresponding to the phone numbers, and wherein the menus comprises one or more options for selection; and displaying on the telephone system a menu from the database based on a result of the comparison.

A caller may dial or select a phone number from a device of a destination. The phone number is detected by a Visuphone implemented on the device to display a visual IVR menu corresponding to the audible IVR menu of the destination. Visuphone may be hardware, an application stored as a software or firmware on the device, or a combination thereof. Visuphone may include a database of visual IVR menus corresponding to audible IVR menus for various destinations. Thereafter, the caller may interact with the visual IVR menu displayed on the device to establish a connection with the destination. Furthermore, Visuphone may detect and launch a VOIP application for establishing the connection. Moreover, Visuphone may provide pre-recorded or computer synthesized audio responses on behalf of the caller to the destination.

An aspect of the invention is to generate a database of visual IVR menus. The database generation could be done by successive calling the IVR and combined with voice recognition. Calling the IVR systems can be done manually by operators that will listen to options of the IVR and enter these options into the database. In this manual mode, the operator will dial IVR numbers from a list and for each of them will follow all the options in several levels and in each level, enter the menu entries into the database. This can be done to many different IVR phone numbers, by one or multiple operators. The voice menu can be recorded to for analyzing in a different process or a different time.

Another aspect of the invention is to generate a database of visual IVR menus by a computer system. Combination of hardware and software that is connected to phone system and automatically dials the IVR phone numbers, record the different options of the voice menu, analyze the voice menu and generate and enter the different entries into the database. The system will generate the voice tone that simulates the relevant touchtone of a phone number pressed. This process will be done in several levels until covering all the entries in all the levels of the specific IVR system. This process is done for all the IVR phone number in the list.

Additional alternative is to access the IVR internal database and download the menu. This approach requires the collaboration with the IVR maker and at least permission from the IVR owner. Having both a system could be built to access IVR using their maintenance port, which is often connected to the Internet. Accordingly, the system would access the IVR and once authorized by the IVR owner it will download the internal file representing the IVR menu, which could be called the IVR customization record. The downloaded file would then be converted to visual IVR menu by utility that could be design according to the format, which could be provided by the IVR maker.

Another aspect of the invention is to provide to a caller using a device a visual IVR menu corresponding to an audible IVR menu of a destination.

Another aspect of the invention is to enable the caller to directly interact with the visual IVR menu without listening to the audible IVR menu of the destination.

Another aspect of the invention is to provide the visual IVR menu to the caller before establishing a connection of the device with the destination.

Another aspect of the invention is to provide advertisements related to the destination or function of the destination dialed by the caller.

Yet another aspect of the invention is to provide a visual IVR menu of a destination according to the location of the communication device of a caller and/or a location of the dialed destination phone number.

Embodiments of the invention provide an enhanced communication device. The enhanced communication device comprises a processor and a memory coupled to the processor. The memory comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers Further, the memory comprises instructions executable by the processor for identifying a dialed phone number of a destination, determining a location code associated with a current location of the communication device, comparing the dialed phone number to one or more destination phone numbers stored in a database, and displaying at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide an enhanced communication device. The enhanced communication device comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers. Further, the enhanced communication device comprises means for identifying a dialed phone number of a destination, means for determining a location code associated with a current location of the communication device, means for comparing the dialed phone number to one or more destination phone numbers stored in a database, and means for displaying at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide a method for providing enhanced telephony. The method includes identifying a phone number of a destination dialed from a communication device; determining a location code associated with a current location of the communication device; and comparing the dialed phone number to one or more destination phone numbers stored in a database. The database may include at least one property associated with the destination phone numbers. Further, the method includes displaying the at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide an enhanced device. The enhanced device comprises a processor and a memory coupled to the processor. The memory comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers Further, the memory comprises instructions executable by the processor for identifying a dialed phone number of a destination, determining a location code associated with a current location of the device, comparing the dialed phone number to one or more destination phone numbers stored in a database, and displaying at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide an enhanced device. The enhanced device comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers. Further, the enhanced device comprises means for identifying a dialed phone number of a destination, means for determining a location code associated with a current location of the device, means for comparing the dialed phone number to one or more destination phone numbers stored in a database, and means for displaying at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide a method for providing enhanced telephony. The method includes identifying a phone number of a destination dialed from a device; determining a location code associated with a current location of the device; and comparing the dialed phone number to one or more destination phone numbers stored in a database. The database may include at least one property associated with the destination phone numbers. Further, the method includes displaying the at least one property associated with the one or more destination phone numbers based on the comparison.

Embodiments of the invention provide a device comprising a database comprising a plurality of visual IVR menus associated with a plurality of destinations. The device further comprises means for dialing a phone number of a destination, means for comparing the dialed phone number with phone numbers stored in the database, and means for displaying a form based on the comparison, wherein the form comprises one or more data request fields corresponding to a visual IVR menu associated with the dialed destination.

Embodiments of the invention provide a device comprising a processor. Further, the device comprises a memory comprising a database. The database comprises a plurality of visual IVR menus associated with a plurality of destinations. Further, the memory comprises instructions executable by the processor for dialing a phone number of a destination, comparing the dialed phone number with phone numbers stored in the database, and displaying a form based on the comparison, wherein the form comprises one or more data request fields corresponding to a visual IVR menu associated with the dialed destination.

Further, a method for providing enhanced telephony is disclosed. The method comprises dialing, at a device, a phone number of a destination. The device comprises a plurality of visual IVR menus associated with a plurality of destinations. Further, the method comprises comparing the dialed phone number with phone numbers stored in the device. Furthermore, the method comprises displaying, at the device, a form based on the comparison, wherein the form comprises one or more data request fields corresponding to a visual IVR menu associated with the dialed destination.

Embodiments of the invention provide a device for scheduling a call to a destination based on predefined calling information. The device comprises a database comprising at least one visual IVR menu associated with each of a plurality of destinations. The device also comprises means for dialing a phone number of a destination of the plurality of destinations based on the predefined calling information, wherein the predefined calling information is selected from a visual IVR menu associated with the destination; means for receiving information from the dialed destination based on the predefined calling information; and means for displaying the received information.

Embodiments of the invention disclose a method for providing scheduling a call to a destination based on predefined calling information. The method comprises dialing a phone number of a destination of a plurality of destinations based on the predefined calling information, wherein the predefined calling information is selected from a visual IVR menu associated with the destination. Further, the method comprises receiving information from the dialed destination based on the predefined calling information. Furthermore, the method comprises displaying the received information.

Embodiments of the present invention provide a device. The device comprises a processor. Further, the device comprises a memory coupled to the processor. The memory comprises a database comprising at least one IVR menu associated with at least one IVR system. Further, the memory comprises instructions executable by the processor for sending a first section of a data packet to a second communication device. The first section comprising first information is sent based on a visual IVR menu associated with the second communication device. Further, the memory comprises instructions executable by the processor for receiving an acknowledgement message from the second communication device based on the first section of the data packet. Furthermore, the memory includes instructions executable by the processor for sending a second section of the data packet to the second communication device based on the acknowledgement message. The second section comprises second information.

Embodiments of the present invention provide a method for communicating among a plurality of communication devices. The method comprises sending, by a device, a first section of a data packet to a second communication device. The first section comprising first information is sent based on a visual Interactive Voice Response (IVR) menu associated with at least one IVR system. Further, the method comprises receiving, at the device, an acknowledgement message from the second communication device based on the first section of the data packet. Furthermore, the method comprises sending, by the device, a second section of the data packet to the second communication device based on the acknowledgement message. The second section comprises second information.

Embodiments of the invention provide a method for establishing a communication sess10n m a communication network. The method comprises dialing, by a device, a phone number of a second communication device. The second communication device comprises an IVR system. Further, the method comprises detecting, by the device, a data network. Furthermore, the method comprises sending, by the device, a first section of a data packet to the dialed second communication device when the data network is detected. The first section comprises first information.

Embodiments of the invention provide a communication device comprising a database comprising a plurality of visual Interactive Voice Response (IVR) menus associated with a plurality of destinations. The communication device further comprises means for dialing a phone number of a destination, means for comparing the dialed phone number with phone numbers stored in the database, and means for displaying a form based on the comparison, wherein the form comprises one or more data request fields corresponding to a visual IVR menu associated with the dialed destination.

A method for providing enhanced telephony is disclosed. The method comprises dialing, at a communication device, a phone number of a destination. The communication device comprises a plurality of visual IVR menus associated with a plurality of destinations. Further, the method comprises comparing the dialed phone number with phone numbers stored in the communication device. Furthermore, the method comprises displaying, at the communication device, a form based on the comparison, wherein the form comprises one or more data request fields corresponding to a visual IVR menu associated with the dialed destination.

An aspect of the invention is to provide updates to the visual IVR menus stored in the device.

An aspect of the invention is to provide the visual IVR menu when the call is forwarded from one destination to another.

Another aspect of the present invention is to provide a method for displaying, at a device, a visual IVR menu associated with a phone number of a calling device. Further, the method displays one or more communication options at the device.

Another aspect of the invention is to enable a user at the device to interact with the visual IVR menu of the calling first party device without listening to the audible IVR menu of the first party device.

Yet another aspect of the invention is to enable a portable device or device to connect to an external device with better display capabilities.

Further aspect of the invention is to provide the visual IVR menu of a first party device to a user of a device before establishing a communication session between the device and the first party device.

Additional aspect of the invention is an automatic learning of caller choice and uses that for assisting the caller in his future calls.

Embodiments of the present invention provides a system for enhancing user interface with vendors. The system may include a call-parking module, executable by a specialized processor, communicably coupled to an application at a user device through the internet and configured for guiding the application based on a user request to perform at least one of: a) dialing a telephone number corresponding to the user request, the user request being determined based on a user selection from a visual IVR menu corresponding to the telephone number; b) inputting one or more required DTMF inputs at particular intervals; and c) connecting a user corresponding to the user device with an IVR on detection of human voice.

Hereinabove, the system may further include a memory having a set of instructions executable by a specialized processor for maintaining an Interactive Voice Response (IVR) database. The database may include (but is not limited to) a plurality of visual IVR menus, each of the visual IVR menus associated with a telephone number of a vendor, wherein each of said plurality of visual IVR menus has a particular time of operation record. Further, the instructions executable by the processor are for constructing a visual IVR menu on the fly when the application dials the telephone number corresponding to the user request and when the visual IVR corresponding to the telephone number is not available in a database. The system may include a crowdsourcing module, executable by the specialized processor, for retrieving a visual IVR menu corresponding to the user request from one or more other user devices in a network.

Further, the system may include: a crawler module for dialing each of a plurality of IVR numbers through a telephone service provider to record audio corresponding to each menu and submenus corresponding thereto; a transcription and matching module configured to transcribe the recorded audio into text format, the transcribed text being stored into corresponding IVR menu record in a dialer database; and a verification module to validate correctness of each entry corresponding to each IVR menu of the dialer database; and a transfer module for providing a validated copy of each IVR menu from the dialer database to a phone user database, thereby facilitating the application to detect availability of the IVR menu corresponding to the telephone number dialed by the user.

The system may further include an admin module configured to detect requirement of a visual IVR menu, corresponding to the user request, and presence thereof in at least one of: a phone user database, and a dialer database.

Further, embodiments of the present invention include a system for enhancing user interface with vendors. The system include a memory comprising a set of instructions, a processor for executing the set of instructions and a connection to the internet, the memory further comprising one or more databases for storing a plurality of IVR menus associated with one or more telephone numbers of a plurality of vendors, wherein each of said plurality of IVR menus has a particular time of operation record.

Hereinabove, the one or more databases further comprise a set of information associated with each of the plurality of IVR menus. Further, at least one of the one or more databases includes: a plurality of voice records and associated text record for each of said voice records.

Further embodiments of the present invention may include a network that may include a system. The system, herein, may include a memory having a set of instructions, a specialized processor to execute the set of instructions for: constructing one or more visual IVR menus corresponding to one or more telephone numbers; and providing a copy of a suitable visual IVR menu, corresponding to a user request, from the one or more visual IVR menus to a phone user database associated with a user device.

Herein, the suitable visual IVR menu is retrievable from the phone user database by an application at the user device for providing to a user associated with the user device.

Herein, in an embodiment, the network further includes one or more telephone service providers. At least one of the one or more telephone service providers associated with the telephone number being called by the application in a background operation when the user selects an option from the suitable visual IVR menu.

The verification module further enables one or more authenticated verifying authorities to perform at least one of: verify each entry corresponding to each of the visual IVR menus in a dialer database based on recorded audio file corresponding thereto stored in audio storage database; and one or more modifications in IVR record corresponding to each of the visual IVR menus in the dialer database.

Embodiments of the present invention comprises a method for enhancing user interface with vendors. The method may include functionalities performed by each module of the system. More specifically, the method constructs a visual IVR menu corresponding to a telephone number. Further, the visual IVR menu may be presented based on a user request corresponding to the telephone number to enable a user to select an option therefrom. Furthermore, once the user selects an option from the visual IVR menu, the method may provide call parking functionality wherein the method may provide the guiding instructions to the application corresponding to the user device of the user. Such guiding instructions enable the application to perform one or more functionalities for connecting the user to an IVR based on the selected option.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

FIG. IA illustrates an exemplary environment where various embodiments of the invention may function;

FIG. 1B illustrates another exemplary environment where various embodiments of the invention may function;

FIG. IC illustrates yet another exemplary environment where various embodiments of the invention may function;

FIG. 2A illustrates an exemplary audible Interactive Voice Response (IVR) menu at a destination, in accordance with an embodiment of the invention;

FIG. 2B illustrates an exemplary visual IVR menu at a device corresponding to the audible IVR menu of the destination, in accordance with an embodiment of the invention;

FIG. 2C illustrate an exemplary visual IVR menu that display graphics for each option, in accordance with an embodiment of the invention;

FIG. 2D illustrate an exemplary visual IVR menu that display tooltip when a curser is hovering an option for more than certain time without action, in accordance with an embodiment of the invention;

FIGS. 3A and 3B illustrates exemplary components of the device for implementing a Visuphone, in accordance with an embodiment of the invention;

FIG. 4 illustrates an exemplary display of the visual IVR menu on the device, in accordance with an embodiment of the invention;

FIG. 5 illustrates exemplary components of the device for implementing the Visuphone, in accordance with another embodiment of the invention;

FIG. 6 illustrates an exemplary display of the visual IVR menu on the device, in accordance with another embodiment of the invention;

FIG. 7 illustrates a webpage displayed on the device that may be used to initiate a connection to the destination, in accordance with an embodiment of the invention;

FIG. 8 illustrates an exemplary software architecture of Visuphone, in accordance with an embodiment of the invention;

FIG. 9 illustrates exemplary components of the Visuphone, in accordance with an embodiment of the invention;

FIG. 10 illustrates an exemplary remote server for storing information required by the Visuphone, in accordance with an embodiment of the invention;

FIG. 11 illustrates presentation of a visual IVR menu in case of call forwarding, in accordance with an embodiment of the invention;

FIG. 12 illustrates the presentation of the visual IVR menu when a phone connection is associated with a wide band internet ‘smart’ modem;

FIG. 13 illustrates the presentation of the visual IVR menu when a telephone connection is established through an external telephone service by using a computer;

FIGS. 14A, 14B, and 14C illustrate a Visu-add-on that provides the features and functionality of the Visuphone;

FIGS. 15A, 15B, 15C and 15D illustrate a flowchart diagram for presentation, selection and update of visual IVR menus, in accordance with an embodiment of the invention;

FIG. 16 illustrates exemplary components of a device for implementing a database construction system, in accordance with an embodiment of the invention;

FIGS. 17A, 17B, and 17C illustrate exemplary components of the database construction system, in accordance with an embodiment of the invention;

FIG. 18 illustrates a flowchart diagram for creating a database for visual IVR menus, in accordance with an embodiment of the invention;

FIG. 19 illustrates an exemplary set of IVR categories;

FIG. 20A illustrates an exemplary information process stored in a database;

FIG. 20B illustrates an exemplary web form generated for the information process of

FIG. 21 illustrates an exemplary display of representations of destinations on the device, in accordance with an embodiment of the invention;

FIG. 22 illustrates an exemplary visual IVR menu of the selected destination with added graphics at a device, in accordance with an embodiment of the invention;

FIGS. 23A, 23B, and 23C illustrate a flowchart diagram for providing representation of destinations based on position, in accordance with an embodiment of the invention;

FIG. 24 illustrates flowchart for presenting advertisement along with the visual IVR menu on the device, in accordance with an embodiment of the invention;

FIG. 25A illustrates an exemplary information process for an IVR menu stored in records database, in accordance with an embodiment of the invention;

FIG. 25B illustrates an exemplary web form generated for the information process of FIG. 25A, in accordance with an embodiment of the invention;

FIG. 26 illustrates a flowchart for submitting personal information of a caller by Visuphone, in accordance with an embodiment of the invention;

FIG. 27 illustrates an exemplary representation of a visual IVR menu associated with the dialed phone number of the destination along with a scheduling mode option, in accordance with an embodiment of the invention;

FIG. 28 illustrates another exemplary representation of a visual IVR menu associated with the dialed phone number of the destination along with a scheduling mode option, in accordance with an embodiment of the invention;

FIG. 29 illustrates an exemplary display at the device after switching to a scheduling mode, in accordance with an embodiment of the invention;

FIGS. 30A and 30B illustrates a flowchart for providing enhanced telephony by presenting a scheduling mode option to the caller, in accordance with an embodiment of the invention;

FIGS. 31A, 31B, 31C and 31D illustrates exemplary environments where communication device may exchange one or more messages/data packets for establishing communication session, in accordance with various embodiments of the invention;

FIG. 32 illustrates an exemplary packet sent from a device to a second communication device, in accordance with an embodiment of the invention;

FIG. 33 illustrates an exemplary structure of a first section of the packet sent to the second communication device, in accordance with an embodiment of the invention;

FIGS. 34A and 34B illustrates a flowchart for communicating among a plurality of communication devices, in accordance with an embodiment of the invention;

FIGS. 35A, 35B, and 35C illustrates an exemplary communication network where a call is received at a device from a first party device, in accordance with various embodiments of the invention function;

FIG. 36 illustrates yet another exemplary communication network in which an IVR is displayed when a call is received at a device, in accordance with an embodiment of the invention;

FIG. 37 illustrates an exemplary visual IVR menu along with one or more communication options at a device, in accordance with an embodiment of the invention;

FIG. 38 illustrates another exemplary visual IVR menu along with one or more communication options at a device, in accordance with an embodiment of the invention;

FIG. 39 illustrates the presentation of the visual IVR menu when a phone connection is associated with a wide band internet ‘smart’ modem;

FIG. 40 illustrates a flowchart for providing enhanced telephony when a call is received, in accordance with an embodiment of the invention;

FIG. 41 illustrates an environment where a device may be connected to an external device, according to an embodiment of the invention;

FIG. 42 illustrates exemplary functioning of the device (portable device) in the environment of FIG. 41, in accordance with an embodiment of the invention;

FIG. 43 illustrates exemplary functioning of the portable device such as a smart phone connected to a laptop in the environment of FIG. 41, in accordance with another embodiment of

FIG. 44 illustrates exemplary functioning of the portable device connected to a large display screen in the environment of FIG. 41, in accordance with another embodiment of the invention;

FIG. 45 illustrates exemplary functioning of the portable device such as the smart phone connected to a television screen in the environment of FIG. 41, in accordance with another embodiment of the invention;

FIG. 46 illustrates exemplary functioning of the portable device connected to a picture frame in the environment of FIG. 41, in accordance with another embodiment of the invention;

FIG. 47 illustrates exemplary functioning of the portable device connected to a Global Positioning System (GPS) navigation system in the environment of FIG. 41, in accordance with another embodiment of the invention;

FIG. 48 illustrates exemplary functioning of the portable device such as the smart phone connected to a projector in the environment of FIG. 41, in accordance with another embodiment of the invention;

FIG. 49 illustrates exemplary display of an Interactive Voice Response (IVR) menu on a large display screen connected to a portable device such as the smart phone, in accordance with an embodiment of the invention;

FIG. 50 illustrates block diagram of the portable device, in accordance with an embodiment of the invention;

FIG. 51 illustrates another block diagram of the portable device, in accordance with an embodiment of the invention;

FIG. 52 illustrates an environment where a portable device may be connected to a user device, in accordance with an embodiment of the invention;

FIG. 53 illustrates an environment where a portable device may be connected to a user device, in accordance with another embodiment of the invention;

FIG. 54 illustrates exemplary functioning of the portable device connected to a mobile phone in the environment of FIG. 52 or FIG. 53, in accordance with an embodiment of the invention;

FIG. 55 illustrates exemplary functioning of the portable device connected to a mobile phone and a projector in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 56 illustrates another exemplary functioning of the portable device connected to a mobile phone and a large screen in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 57 illustrates another exemplary functioning of the portable device connected to a mobile phone and a television in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 58 illustrates exemplary functioning of the portable device connected to a mobile phone and a laptop in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 59 illustrates another exemplary functioning of the portable device connected to a picture frame and a wired telephone in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 60 illustrates exemplary functioning of the portable device connected to a mobile phone and a GPS navigation system in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention;

FIG. 61 illustrates an exemplary display of an Interactive Voice Response menu (IVR) on a large display screen connected to a portable device and a user device such as smart phone, in accordance with an embodiment of the invention;

FIG. 62 illustrates a block diagram of portable device 5202, in accordance with an embodiment of the invention;

FIG. 63 is a flowchart illustrating the functioning of portable device 4102, m accordance with an embodiment of the invention;

FIGS. 64A and 64B illustrates a flowchart for implementing the portable device in the environment of FIG. 52 and FIG. 53, in accordance with an embodiment of the invention;

FIG. 65 illustrates an exemplary functioning of Visuphone for displaying one or more contact options at a device, in accordance with an embodiment of the invention;

FIG. 66 illustrates change of display at user device 102, when a user selects a contact option, in accordance with an embodiment of the invention;

FIG. 67 illustrates an exemplary functioning of Visuphone for displaying one or more contact options at a device, in accordance with another embodiment of the invention;

FIG. 68 illustrates change in display at device 102 based on selection of a contact option by a user of device 102, in accordance with an embodiment of the invention;

FIG. 69 illustrates a flow diagram illustrating an exemplary functioning of the Visuphone for displaying one or more contact options at a device, in accordance with an embodiment of the invention;

FIG. 70 illustrates a cloud environment in accordance with various embodiment of the present invention;

FIG. 71 illustrates a block diagram of a system for enhancing user interface with one or more vendors, in accordance with an embodiment of the present invention; and

FIG. 72 illustrates a method flow diagram for enhancing user interface with one or more vendors in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Illustrative embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.

FIG. IA illustrates an exemplary environment where various embodiments of the invention may function. A device 102 a can be used by a caller 106 for connecting to destinations 108 a-n. Device 102 a can be a telecommunication device that can connect directly to a Public Switched Telephone Network (PSTN) 110. A person skilled in the art will appreciate, that device 102 a can also connect to a private telephone exchange. Examples of device 102 a include, but not limited to, a mobile phone, a Smartphone, a telephone, or any other device capable of voice or data communication. Each of destinations 108 a-n may include one or more Interactive Voice Response (IVR) menus. Further, each of destinations 108 a-n may have one or more associated phone numbers. When caller 106 dials a phone number of a destination and connects to any destination from destinations 108 a-n, an audible IVR menu may be played to caller 106. Each of destinations 108 a-n can have different and more than one audible IVR menus. For example, IVR menus of bank may be completely different from that of a hospital. Typically, the audible IVR menu provided by destinations 108 a-n comprises audible options or instructions. Caller 106 may be required to select various options from the audible IVR menu to obtain the required information or resource or service from the dialed destination. Various types of destinations 108 a-n that implement the audible IVR menu include, for example, banks, hotels, fast-food outlets, utility services providers, corporate offices, and so forth.

In an embodiment, device 102 a includes a Visuphone 104 that can display a visual IVR menu on device 102 a corresponding to the audible IVR menu based on a phone number of the destination to be connected. Visuphone 104 may be hardware, an application stored as software, a firmware on device 102 a, or a combination thereof. Thereafter, caller 106 can select the options of the audible IVR menu from the visual display without the requirement to listen to the audible instructions. Further, Visuphone 104 may display one or more options based on the dialed destination. Exemplary audible IVR menu at destination 108 a and a corresponding visual IVR menu are explained in detail in conjunction with FIGS. 2A and 2B.

In an embodiment of the invention, device 102 a can request for updates from a server through a communication network. The server may maintain the updated information of destinations and their associated properties. This may happen in a case when requested information is not available on the dialed destination. The communication network can include more than one device. Examples of the communication network include, but are not limited to, the Network, PSTN, Local Area Network (LAN), Wide Area Network (WAN), and so forth.

FIG. 1B illustrates another exemplary environment where various embodiments of the invention may function. As shown, device 102 b can be a device that can be connected directly to a network 112. Examples of device 102 b include, but are not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, a fixed line telephone, Voice Over Internet Protocol (VOIP) phone or other devices capable of voice or data communication. Device 102 b may include various applications or computer programs that enable caller 106 to use device 102 b for connecting to any of destinations 108 a-n through PSTN 110 over network 112. For example, the applications may be VOIP applications, such as but not limited to, Skype, Magic Jack, Google Talk and so forth. A gateway 116 can be used to interconnect PSTN 110 and network 112. Network 112 may include any wired or wireless network. Examples of network 112 include, but are not limited to, a Local Area Network (LAN), a Wide Area Network (WAN), a Wi-Fi network, and so forth. As discussed with reference to FIG. IA, destinations 108 a-n can present the audible IVR to caller 106. Device 102 b includes Visuphone 104 b that displays a visual IVR menu on device 102 b corresponding to the audible IVR menu based on a phone number of the destination to be connected. Further, Visuphone 104 may display one or more options for communication on device 102 b.

FIG. IC illustrates yet another exemplary environment where various embodiments of the invention may function. As shown, device 102 c can be connected to PSTN 110 through network 112 or through the cellular network 111. Various service providers provide multiple or overlapping services to customers. For example, cable television service provider may also provide phone and Internet service, optical Internet provider may also provide phone or television services, WiMax service providers that provide phone service, and so forth. Network 112 may be any service provider that provides such services, for example, but not limited to, cell phone services, wireless services, Internet services, cable television services, or various combinations of the above or other type of services. As discussed with reference to FIG. IA, destinations 108 a-n presents the audible IVR to caller 106. Device 102 c includes Visuphone 104 that displays a visual IVR menu on device 102 b corresponding to the audible IVR menu based on a phone number of the destination to be connected. Further, Visuphone 104 may display other communication options to caller 106.

In an embodiment of the invention, Visuphone 104 may call the dialed destination based on the predefined calling information automatically. In an embodiment, Visuphone 104 may keep on calling to the dialed destination until the requested information is received. In an embodiment, the dialed destination may request the information requested by Visuphone 104 of device 102 c (or 102 a or 102 b), from a server of the communication network. Thereafter, the dialed destination may send the information received from the server to Visuphone 104 of device 102 c. Further, Visuphone 104 may save and/or display the received information at device 102 c.

FIG. 2A illustrates an exemplary audible IVR menu 222 a at destination 108 a, in accordance with an embodiment of an invention. A person skilled in the art will appreciate that audible IVR menu 222 a is an exemplary graphical representation of the audible instructions presented by destination 108 a for the sake of explanation and is not an actual graphical display. For explanation, assuming that destination 108 a is a pizzeria that provides home delivery and takes away services. Caller 106 connects to destination 108 a by dialing a board phone number 202 a. Subsequently, various options of audible IVR menu 222 a are played to caller 106. The various options include an option 204 a that plays an audible instruction, “press 2 for pizza order”, an option 206 a that plays an audible instruction, “press 3 for order status”, an option 220 a that plays an audible instruction, “press O for main menu”. Caller 106 can select an option by pressing from device 102, a button corresponding to the instructions in the audible IVR menu. Subsequently, the selected options are transmitted to the destination and the menu is advanced if there are any further options. Alternatively the display can present the next layer of menu options to give the caller better view of the option domain and allow even faster interface between caller and the IVR.

For example, selection of option 204 a presents an option 208 a that plays an audible instruction, “press 1 for veg” and an option 210 a that plays an audible instruction, “press 2 for non-veg” is played. Similarly, selecting option 208 a or 210 a presents or option 214 a that plays an audible instruction, “press 1 for home delivery”, an option 216 a that plays an audible instruction, “press 2 for take away”. Similarly, selection of option 206 a presents an option 212 a that plays an audible instruction, “press 1 to talk to an executive”.

Options 204 a, 206 a, 208 a, 210 a, 212 a, 214 a, and 216 a are part of a main menu 218 a. Main menu 218 a can be repeated by selecting option 220 a by caller 106. Caller 106 may repeat main menu 218 a for example, in case of a mistake in selection. Therefore, caller 106 directly interacting with audible IVR menu 222 a may be required to listen to all or various audible options before executing a desired action. However, the interaction is simplified by Visuphone 104, that presents a visual IVR menu 222 b to caller 106 corresponding to audible IVR menu 222 a, as explained with reference to FIG. 2B.

Further, each of destinations 108 a-n may have more than one audio IVR menus. Therefore, different visual IVR menus corresponding to one or more audio IVR menus can be available for each of destinations 108 a-n. In an embodiment, device 102 may include more than one visual IVR menus for each destination of destinations 108 a-n based on the time. Herein after device 102 collectively refers to device 102 a, 102 b and 102 c. Therefore, different visual IVR menus corresponding to a destination 108 might be presented to caller 106 depending on the time of dialing to destination 108.

In an exemplary scenario, in a hotel, the food items in a daytime menu card may be different from a night menu card. Accordingly, the options in the visual IVR menu may differ. Therefore, the visual IVR menus for daytime and night can be different for the hotel. When caller 106 dials the phone number of the hotel in daytime, a daytime visual IVR menu can be displayed at device 102 a, and if caller 106 calls at night, a different menu can be displayed at device 102 a. Therefore, a visual IVR menu of the hotel displayed at the calling device for a call made at noon may be different then the visual IVR menu displayed for another call made at evening.

FIG. 2B illustrates an exemplary visual IVR menu 222 b corresponding to an audible IVR menu 222 a, in accordance with an embodiment of the invention. Visual IVR menu 222 b may be displayed on a screen of device 102 b that may connect to destination 108 a through network 112 and PSTN 110. In an embodiment, visual IVR menu 222 b can be displayed before a connection is established with destination 108 a. A person skilled in the art will appreciate that device 102 b is illustrated for the sake of explanation, and similar visual IVR menu 222 b can be displayed on device 102 a that connects to destination 108 a directly through PSTN 110. Visual IVR menu 222 b includes various nodes corresponding to the options of an audible IVR menu of destination 108 a. The various nodes of visual IVR menu 222 b include a node 202 b for connecting to board number 202 a of destination 108 a. Similarly, nodes 204 b, 206 b, 208 b, 210 b, 212 b, 216 b corresponds to option 204 a, 206 a, 208 a, 210 a, 212 a, 216 a respectively. A node corresponding to option 220 a may not be required in visual IVR menu 222 b, as the complete menu is visible and caller 106 may not be required to repeat audible IVR menu 222 a. Therefore, when caller 106 selects a node from visual IVR menu 222 b, Visuphone 104 automatically transmits the desired action corresponding to the options in audible IVR menu 222 a to dialed destination 108 a. For example, assuming that caller 106 calls destination 108 a to order a veg pizza for home delivery. In this case, caller 106 directly selects nodes 208 b and 214 b from a touch screen of device 102 a, corresponding to veg pizza and home delivery from visual IVR menu 222 b. Alternatively, caller 106 directly selects nodes 204 b, 208 b and 214 b by pressing corresponding keys ‘2’, ‘1’, and ‘1’, from a keypad or screen of device 102 a without a need to listen to the complete audible IVR menu. Visuphone 104 accordingly transmits the signals to audible IVR menu 222 a. In this case, the signals required by audible IVR menu 222 a may be the Dual Tone Multi-Frequency (DTMF) tones of ‘2’, ‘2’, and ‘1’ for options 204 a, 208 a, and 214 a. Moreover, caller 106 may not be required to select all the options. For example, when caller 106 wants to order a veg-pizza for take away. Then, only the nodes 208 b and 216 b may be required to be selected, and node 204 b is automatically understood by Visuphone 104 b. Furthermore, a node that is necessary for a transaction is automatically highlighted. For example, if caller 106 only selects node 216 b for take away, then node 208 b for a veg-pizza or node 210 b for non-veg are highlighted for selection. In an embodiment of the invention, caller 106 may select nodes irrespective of the sequence presented in the audible IVR menu. For example, node 214 b for home delivery may be selected before node 208 b of veg-pizza. Visuphone 104 automatically generates a sequence of the selections made by caller 106 and transmits it to the destination. Furthermore, Visuphone 104 stores the selections and the numbers dialed by the caller during the call in association with the destination phone number. In an embodiment, Visuphone 104 may enable callers to search or bookmark options in a menu with a large number of options. For example, callers can search for a node 214 b from the menu by typing ‘home delivery’. As a result, navigation of a complete visual IVR menu may not be required.

In an embodiment of the invention, visual IVR menu 222 b is displayed to caller 106 when a call is received at device 102 from a destination of destinations 108 a-n. For example, a service provider may call to provide information about new services or account of caller 106. Further, caller 106 may be required to select various options based on his preferences. Visuphone 104 b may detect the received number and correspondingly display a visual IVR menu to the caller. Further, the calling destination may push or send the visual IVR menu associated with the destination to device 102 a (102 b or 102 c). The process of displaying visual IVR menu when a call is received at the device is explained in detail in FIG. 35 to FIG. 40.

FIG. 2C illustrates an exemplary visual IVR menu 222 c with added graphics for the nodes. It is well known that graphics are easier to learn and are faster to recognize than words. Therefore, graphics are used in various computerized device interfaces. The exemplary graphics as shown with reference to FIG. 2C are icons. Various other types of graphics can be displayed for example, animated icons, icons that highlight or animate when the node is highlighted, and so forth.

In an embodiment, the graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 222 c. For example, for the node 208 an icon of a vegetable may be displayed to designate a vegetarian pizza, and an icon of house for the node 214 c of home delivery may be displayed. In an embodiment of the invention, visual IVR menu 222 c can be customized to display only the text, only the icons or both. Furthermore, caller 106 can suggest or use various icons based on his preferences.

FIG. 2D illustrate an exemplary tooltip that is displayed when a curser is hovered over an option in the visual IVR menu. As shown, a tooltip box 222 is displayed when a cursor 226 is hovered on option 204 c or 206 c. Similarly, a Tooltip box 224 may be displayed containing the next menu text with or without it's available options 210 c, 208 c in case the caller decides to select the option over which cursor 226 is hovered, for example option 204 c.

In an embodiment of the invention, Visuphone 104 b may provide a standard menu per group of similar audible IVR or destinations. With reference to FIG. 2B, an example of a menu at a pizza provider is discussed. Generally, every pizza provider may have its specific audible IVR menu. However, caller 106 may prefer to use a single standard visual IVR menu for all pizza providers. Therefore, learning a single visual IVR menu will be useful for engaging various providers. In such a case, the database may include a standard menu per class of compatible providers. Visuphone 104 may offer caller 106 an option to use the standard domain menu. Therefore, when caller 106 makes a selection on the standard menu, Visuphone 104 may translate the selection to the specific audible IVR menu selection and send the proper dialing tones (or DTMF) to that specific audible IVR. Furthermore, the standard menus may be published. Therefore, various providers may modify their own menus to help their customers. Additional aspect of the standard menu is the use of icons as discussed with reference to FIG. 2C. The icons may represent standard choice across various domains. For example, if a specific icon may represent sales, then the same icon may be used for sales of airlines tickets when the destination is an airline company or sales of telephone service when the destination is a telephone company. In an embodiment of the invention, the caller may customize the icons or graphics displayed on the menu.

FIGS. 3A and 3B illustrate exemplary components of device 102 a for implementing Visuphone 104. Device 102 a includes a system bus 324 to connect the various components. Examples of system bus 324 include several types of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. As discussed with reference to FIG. IA, device 102 a can be a device such as computer, a smartphone and so forth. Device 102 a can connect to PSTN 110 through a gateway 326, which is connected to network 112 through a network interface 314. Input/Output (IO) interface 316 of device 102 a may be configured to connect external or peripheral devices such as a memory card 318, a keyboard 320 a, a mouse 320 b and a Universal Serial Bus (USB) device 322. Although not shown, various other devices can be connected through IO interface 316 to device 102 a. In an embodiment of the invention, device 102 a may be connected to a hub that provides various services such as voice communication, Internet access, television services, and so forth. For example, the hub may be a Home Gateway device that acts as a hub between the home environment and the Broadband Network.

Device 102 a includes a display 302 to output graphical information to caller 106. In an embodiment of the invention, display 302 may includes a touch sensitive screen. Therefore, caller 106 can provide inputs to device 102 a by touching display 302 or by point and click using the ‘mouse’. Memory 306 of device 102 a stores various programs, data and/or instructions that can be executed by a Central Processing Unit (CPU) 304. Examples of memory 306 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by device 102 a. Memory 306 may include Operating System (OS) (not shown) for device 102 a to function. Further, memory 306 may include other applications 310 that enable the caller to communicate with destinations. Examples of other applications 310 include, but are not limited to, Skype, Google Talk, Magic Jack, and so forth. Other applications 310 may be stored as software or firmware on device 102 a.

Further, memory 306 includes Visuphone 104 for presenting a visual IVR menu corresponding to the audible IVR menu of destination as discussed with reference to FIGS. 2A, 2B and 2C. Visuphone 104 may be an application stored as a software or firmware on device 102 a. The visual IVR menus are stored in a visual menu database 308 in memory 306 of device 102 a. Visuphone 104 searches visual menu database 308 for visual IVR menus corresponding a phone number of destinations 108 a-n dialed by caller 106. In an embodiment, Visuphone 104 searches visual menu database 308 for visual IVR menus corresponding to a phone number of a calling destination. Subsequently, if the visual IVR menu for the phone number is available in the database, then the visual IVR menu is displayed on display 302. Further, Visuphone 104 may be implemented as a plug-in to other applications 310. Therefore, when a phone number is dialed from other applications 310, Visuphone 104 detects the dialing of the number and automatically displays the visual IVR menu corresponding to the phone number. Thereafter, the caller can interact with the visual IVR menu, without listening to the complete audible IVR menu of destinations.

With reference to FIG. 4, an exemplary display of a visual IVR menu 406 on device 102 c is illustrated. The caller may dial a phone number 402 corresponding to a destination using keypad 320. Keypad 320 may be a physical keypad or a virtual keypad displayed on a touch screen display 412. Subsequently, visual IVR menu 406 corresponding to phone number 402 is searched and displayed on a display 412.

In an exemplary instance, if caller dials a phone number of an IVR destination, then a visual IVR menu corresponding to audible IVR menu of the dialed destination is displayed on display 412. Similarly, if the caller receives a call from a phone number of destination, then a visual IVR menu corresponding to audible IVR menu of destination is displayed on display 412. Thereafter, caller can interact with the visual IVR menu to select options from the audible IVR menu. Visual IVR menu 406 may be displayed before actual connection of device 102 c to destinations. Therefore, caller can select a desired action from visual IVR menu 406 before connecting to destinations. In an embodiment of the invention, visual IVR menu 406 may be provided in real-time to caller. In an embodiment of the invention, visual IVR menu 406 is provided a messaging service such as a Short Messaging Service (SMS). Therefore, destinations may provide customized visual IVR menu 406 to caller 106. Visual IVR menu 406 may be customized based on the profile of caller. In an embodiment of the invention, the profile may be generated based on access pattern of caller or the data capture by a hub connected to device 102 c.

Caller can interact with visual IVR menu 406 by pressing a desired button from keypad 320. For example, caller can press a ‘5’ key from keypad 320 to select a node 5 in visual IVR menu 406. Further, caller can directly select the node 5 of visual IVR menu 406 from display 412, in case of a touch sensitive screen. Depending on the complexity or size of destinations, visual IVR menu 406 may have various nodes. Moreover, display area of display 412 may be limited or small. As a result, all the nodes of visual IVR menu 406 may not be displayed together on display 412. In such a case, Visuphone 104 is configured to allow caller to navigate by scrolling horizontally and/or vertically to view nodes on visual IVR menu 406. Further, Visuphone 104 may detect the capability of device 102 a before displaying the visual IVR menu. For example, in case device 102 a is a basic mobile phone with limited functionality of the display screen. Therefore, Visuphone 104 may display the visual IVR menu in form of a simple list. Similarly, a list may be displayed in case of fixed line telephones. Moreover, in case device 102 c includes a high capability screen, such as but not limited to an iPhone, then the visual IVR menu is displayed in form of graphics.

Subsequently, after caller selects a desired action from visual IVR menu 406, a connection is established between device 102 c and destinations based on the selected option. In one embodiment, Visuphone 104 is configured to detect and present an application or computer program available on device 102 c.

In an embodiment, Visuphone 104 may be configured to display an advertisement 408. Advertisement 408 may correspond to the type of services provided by the dialed destinations. For example, if destination dialed is a pizzeria, then advertisement 408 may include promotions or offers about a new pizza. Moreover, advertisement 408 may include promotions or offers from a third party or a competitor of the destination. Further, Visuphone 104 may be coupled to an advertising database. The advertising database may include advertisements related to the phone numbers of the destinations. The advertising database may be stored at device 102 c, the destinations, service providers or other third party servers. Further, the advertisements may be provided based on a profile of caller. For example, assuming that the caller calls a bank holding his saving account. Therefore, the advertisement displayed to the caller may be based on the location, address, account balance, type and volume of transactions, loans, purchases and so forth.

Visuphone 104 may be configured to connect to an intended destination, when caller selects advertisement 408. Further, Visuphone 104 may display visual IVR menu 406 of the intended destination. In an embodiment, Visuphone 104 may store the interactions of caller with visual IVR menus. For example, Visuphone 104 may automatically learn the numbers dialed or options selected from the menu. Moreover, the learned numbers or choices are associated with the dialed phone number of the destination. Therefore, the caller is assisted in his future calls. For example, when caller calls the destination again, then the actions that were performed in the last interaction are presented prominently to caller; or a previous sequence may be automatically performed. Further, the actions that are frequently performed are presented prominently to the caller. For example, if caller dials a bank frequently to enquire about his account balance, then the options for selecting his account balance may be highlighted.

In an embodiment, Visuphone 104 may display a visual IVR menu associated with the dialed destination. In an embodiment, Visuphone 104 may display a mode option on a screen of device 102. The mode option may be selected by a caller such as caller 106 for switching the mode of device 102. Based on the selected mode of device 102, one or more input or output options may be displayed on the screen. Example of the one or more input or output options include, but are not limited to, a date of making a call, a time of making a call, a predefined time interval for repeating a call, and so forth.

In an embodiment of the invention, the mode option is a scheduling mode option. Caller 106 may switch device 102 to a scheduling mode by selecting the mode option. In an embodiment, when device 102 is in scheduling mode, Visuphone 104 may save the inputs from caller 106. In an embodiment, Visuphone 104 may save the options of the displayed visual IVR menu selected by caller 106. In the scheduling mode, Visuphone 104 may display one or more input options on the screen to enter a call schedule including a date and a time information. In an embodiment, Visuphone 104 may further ask caller 106 to enter other important information required for dialing the phone number of the destination automatically at a later time. Thereafter, caller 106 may enter the date and time information for dialing the phone number of the destination. Furthermore, Visuphone 104 may call a phone number of a destination of destinations 108 a-n automatically based on the predefined calling information. The predefined calling information can be entered by caller 106. The predefined calling information may include the selection information and the call schedule. The selection information may include one or more options of the displayed visual IVR menu associated with the dialed destination, selected by caller 106.

In an embodiment of the invention, Visuphone 104 may establish a communication with the dialed destination based on the predefined calling information. Further, Visuphone 104 may request information from the dialed destination based on the predefined calling information. Furthermore, Visuphone 104 may receive the requested information from the dialed destination based on the predefined calling information. In an embodiment, caller 106 may also interact with the dialed destination after establishment of the communication. Furthermore, Visuphone 104 may save the received information at device 102. In an embodiment, Visuphone 104 may convert the format of the received information from a first format to a second format. In an embodiment, the first format of the received information may be an audio format. Examples of the audio format include, but are not limited to, WAV, Real Audio, Musical Instrument Digital Interface (MIDI), Windows Media Audio (WMA), MP3, Ogg, and so forth. In an embodiment, the second format may be a text format such as a Unicode text, Rich Text format, HyperText Markup Language (HTML) or any other format compatible with device 102 a. In an embodiment, Visuphone 104 may display the received information at device 102 a.

FIG. 5 illustrates exemplary components of device 102 b for implementing Visuphone 104, in accordance with another embodiment of the invention. Device 102 b includes a system bus 526 to connect the various components. Examples of system bus 526 include several types of bus structures such as, but not limited to, a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. As discussed with reference to FIG. 1B, device 102 b can be a computing device such as, but not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, and so forth. Device 102 b can connect to network 112 through a network interface 514. Further, device 102 b can connect to PSTN 110 through gateway 116 and network 112 through network interface 514. Input/Output (IO) interface 516 of device 102 b may be configured to connect external or peripheral devices such as a mouse 518, a keyboard 520, a speaker 522, microphone 523, and a camera 524. Although not shown, various other devices such as hard disk, a Universal Serial Bus (USB) device or others can be connected through IO interface 516 to device 102 b. A person skilled in the art will appreciate that although not described, various other types of devices capable of voice and/or data communication can be connected to device 102 b.

Device 102 b includes a display interface 502 to connect to a display 512. Display interface 502 can be for example, a video adapter. Display 512 outputs graphical information to caller. In an embodiment of the invention, display 512 includes a touch sensitive screen. Therefore, caller 106 can provide inputs to device 102 b by touching display 512 or by pointing with the mouse and click. Memory 506 of device 102 b stores various programs, data and/or instructions that can be executed by Central Processing Unit (CPU) 504. Examples of memory 506 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by device 102 b. Memory 506 may include Operating System (OS) (not shown) for device 102 b to function. Further, memory 506 may include other applications 510 that enable caller 106 to communicate with destinations 108 a-n. Examples of other applications 510 include, but are not limited to, Skype, Google Talk, Magic Jack, and so forth. Other applications 510 may be stored as software or firmware on device 102 b. Further, memory 506 includes Visuphone 104 for searching and presenting a visual IVR menu corresponding to the audible IVR menu of a destination as discussed with reference to FIGS. 2A and 2B. Visuphone 104 may be an application stored as a software or firmware on device 102 b. The visual IVR menus are stored in visual menu database 308 in memory 506 of device 102 b. Visuphone 104 searches visual menu database 308 for visual IVR menu corresponding to a phone number of a destination dialed by caller 106. Subsequently, the visual IVR menu is presented on display 512 for selection of options by caller 106. Further, Visuphone 104 may be implemented as plug-in to other applications 510. Therefore, when a phone number is dialed from other applications 510, Visuphone 104 detects the dialing and automatically searches and displays the visual IVR menu corresponding to the dialed phone number. Thereafter, caller 106 can interact with the visual IVR menu, without listening to the audible IVR menu of destinations 108 a-n.

FIG. 6 illustrates an exemplary display of a visual IVR menu 604 on device 102 b, in accordance with an embodiment of an invention. Caller 106 may dial a phone number 610 from a VOIP application 608 on device 102 b. Phone number 610 may correspond to any of destinations 108 a-n. In an embodiment, caller selects a pre-stored phone number from the application 608. Subsequently, visual IVR menu 604 corresponding to a dialed destination is displayed on display 512. In an embodiment, display 512 may comprise a touch sensitive screen. Therefore, caller 106 can interact with device 102 b directly through display 512.

In an exemplary instance, if caller 106 dials a phone number of destination, then a visual IVR menu corresponding to audible IVR menu of destination is displayed. Thereafter, caller 106 can interact with the visual IVR menu to select options and to transmit inputs for the audible IVR menu of the corresponding destination. Visual IVR menu 604 could be displayed before actual connection of device 102 b to destinations. Therefore, caller 106 can select a desired option from visual IVR menu 604 before establishing a connection to the dialed destination. Depending on the complexity or size of the destinations, visual IVR menu 604 may have various nodes. For example, an organization with 50 departments may have more menu options or nodes than that of an organization with 10 departments. Further, the display area of display 512 may be limited. As a result, all the nodes of visual IVR menu 604 may not be displayed together on display 512. In such a case, Visuphone 104 is configured to allow caller 106 to navigate by scrolling horizontally and/or vertically to view nodes on visual IVR menu 604. Moreover, caller 106 can search for a desired option from the visual IVR menu.

Subsequently, after caller 106 selects a desired option from visual IVR menu 604, a connection is established between device 102 b and a destination based on the selected action. In one embodiment, Visuphone 104 is configured to detect and present applications suitable to caller 106 for initiating the connection. For example, Visuphone 104 may detect more than one VOIP applications present in device 102 b and present them to caller 106 on display 512. Thereafter, caller 106 can select an application to be used or initiate the connection in a default configuration. The default configuration can be for example, VOIP application 608 on which phone number 610 was dialed. In another embodiment, caller 610 may select a phone number displayed in applications such as a browser, messenger, or a mail client. Subsequently, Visuphone 104 detects and presents applications suitable to caller 106 for initiating the connection. Furthermore, Visuphone 104 is configured to display visual IVR menu 604 for the phone number selected from the applications. Further, one or more options such as file, edit, new, and so forth may be displayed in field 602 as shown.

In an embodiment, Visuphone 104 is further configured to display an advertisement 606. Advertisement 606 may correspond to the type of services provided by destinations. For example, if the destination is a bank, then advertisement 606 may include promotions or offers about new loans or schemes. Moreover, advertisement 606 may include promotions or offers from a third party or a competitor of destination. Visuphone 104 may be configured to connect to intended destination, when caller selects advertisement 606. Further, Visuphone 104 displays visual IVR menu 606 of the intended destination. In an embodiment, Visuphone 104 stores the interactions of caller with visual IVR menus after a call to an IVR was made. Therefore, when caller calls the same destination again, then the options that were selected in the last interaction are presented prominently. Further, the options that are frequently selected can be presented prominently. For example, if caller dials a bank frequently to check his account balance, then the options for selecting his account balance may be highlighted. Additionally the information such his account number can be brought up to save effort for the caller who can than just OK for that ‘auto fill’ to be dialed out to the IVR at the proper time.

As illustrated in FIG. 7, device 102 b may include a web browser 702 to display web pages from the Internet and/or other computer networks. Various websites provide a phone number on the web pages as a click-to-talk button. The clickable button can provide, for example, a contact number of executives of the organization. The clickable button may be programmed to display a phone number of the organization and/or display a caller a form to provide his contact details, so that an executive from the organization can call back the caller. Visuphone 104 is configured to detect a connect button 706 on a webpage 704. Connect button 706 may be used by Visuphone 104 to initiate a connection to a destination 108.

Thereafter, Visuphone 104 can detect and launch a VOIP application on device 102 b. In an embodiment, in case more than one application is available on device 102, Visuphone 104 selects a VOIP application preferred by caller. Moreover, Visuphone 104 may be configured to automatically login into the VOIP application. In an embodiment, caller 106 stores the login details for the VOIP application in Visuphone 104. Further, Visuphone 104 displays a visual IVR menu corresponding to audible IVR menu of the destination connected once click on connect 706 tab. Therefore, caller 106 can connect to the destination from web browser 702 automatically and may not be required to dial the phone number or provide call-back information.

In an embodiment of the invention, Visuphone 104 may include a VOIP plug-in that monitors the outgoing calls made from the VOIP application. Therefore, the VOIP plug-in may search each dialed number in visual menu database 308. In case, the dialed number is found in visual menu database 308 and is associated with an IVR, then the VOIP plug-in may display the visual IVR menu corresponding to the audible IVR menu of the dialed number.

Another embodiment of the invention allows the caller to select the visual IVR menu using car display like GPS display. Hands-free cell phone system is used in many cars as a separated device or as an integrated system in the car. These devices allow the caller to talk with the cell phone without holding the cell phone in his hands. Some devices are using the car speakers for the phone call. In many cases, the hands-free system can use a display screen in the car like GPS screen or other display. Following voice menu while driving might not be the optimal way to use hands-free cell phone system. In some cases, selecting an option from a visual IVR menu is preferred. While driving or stopping in red light, it might be easier to use larger display like the GPS display in the car. The display can present the visual IVR menu and the caller can select the option from the menu. The computing engine to support the visual IVR menu could be embedded in the car GPS system or in another controller that have access to the car display. Once the system recognizes a destination of a call to be an IVR it will access the database pull out the menu and display. Accordingly all the other Visuphone features could be incorporated.

FIG. 8 illustrates exemplary software architecture 800 of Visuphone 104, in accordance with an embodiment of the invention. A hardware layer 802 includes various hardware of device. For example, but not limited to, a mouse, a keyboard, a speaker, a microphone, a camera, a USB device, a display, and so forth. The drivers or files required for proper functioning or installation of the hardware of device are provided by a drivers layer 804. Moreover, drivers layer 802 interfaces with an Operating System 806.

Operating System 806 provides memory and environment required by Visuphone 104 and other applications 808 for functioning on device. Examples of Operating System 806 include, but are not limited to, Windows, Macintosh, Linux, Symbian, Andriod, and so forth. Visuphone 104 may be implemented as a plug-in to other applications 808, such as Skype, Google Talk, web browser, mail client, and so forth. In an embodiment, Visuphone 104 may be implemented as a standalone application on device. Further, Visuphone 104 may be configured to execute as a background application. Therefore, caller 106 may not be required to specifically launch Visuphone 104. Furthermore, Visuphone 104 may be implemented as a multi-threaded application. Therefore, visual IVR menus of more than one destination may be displayed simultaneously on device.

FIG. 9 illustrates exemplary components of Visuphone 104, in accordance with an embodiment of the invention. As discussed above, Visuphone 104 may be implemented as hardware, software, or firmware on device 102. Further, Visuphone 104 may be configured to execute as a background process on device. In an embodiment, Visuphone 104 may be configured to execute as a system service. Therefore, other processes or applications executing on the device may not block the operation of Visuphone 104.

When caller 106 dials, selects or receives a phone number on the device, a detection module 902 of Visuphone 104 detects that a phone number has been dialed, selected or received. For example, detection module 902 may detect key presses or caller ID on device. Caller 106 may use a VOIP application on device for dialing the phone number. Moreover, caller 106 may use a mouse to a joystick to select or press icons of numbers displayed on the VOIP application. Further, detection module 902 is configured to identify the VOIP applications available on device and used by caller. Moreover, detection module 902 may detect the position co-ordinates of the VOIP application on a display of device. For example, in case device includes the Microsoft Windows OS, then the position co-ordinates of the VOIP application can be detected from the registry of the OS. Detection module 902 may be configured to store the position of number icons relative to position co-ordinates of various VOIP applications. Therefore, based on the coordinates of the position of the VOIP application, detection module 902 can detect the exact position of each number icon on the display of device. For example, if the co-ordinates of a top-left edge of the VOIP application is (X, Y) on the display, and the co-ordinates of an icon for number ‘1’ on VOIP application is (X1, Y1) relative to its top-left edge, then the exact coordinates of the icon for number ‘1’ may be calculated as (X+X1, Y+Y1) on the display. A person skilled in the art will appreciate that other types of mathematical operations can be applied to calculate the co-ordinates of the icons on the display of the device.

Detection module 902 may be configured to detect the co-ordinates of the cursor on the display of device. Further, detection module may be configured to detect the action events generated by the mouse or joystick, such as a click, a double click, a drag, a select, a scroll, and so forth. Therefore, when caller selects or press a number on the VOIP application, detection module 902 may detect the number from the position of the cursor, the VOIP application and the number icon. In an embodiment, detection module 902 may be configured to store the last used co-ordinates of the VOIP application and number icons. Therefore, detection and/or calculation of the co-ordinates may not be required. Furthermore, detection module 902 may be configured to detect a connect button displayed on a web page of a browser on device as explained with reference to FIG. 7. Therefore, when caller clicks the connect button, detection module 902 identifies the phone number behind the connect button. In an embodiment, detection module 902 detects the connect button and the associated phone number by scanning the source code of the web page.

The phone number detected by detection module 902 is used by a search module 904 of Visuphone 104. In an embodiment, detection module 902 may be configured to transfer each digit to search module 904 in real-time as clicked by caller. Search module 904 searches visual IVR menu database for visual IVR menu corresponding to the phone number. An exemplary visual IVR menu is as explained above in conjunction with FIGS. 2B and 2C. As discussed above, visual IVR menu database stores visual IVR menus corresponding to the audible IVR menus of destinations 108 a-n. Moreover, visual IVR menu database may store other information, which is explained in conjunction with FIG. 10. Search module 904 may also be configured to search for other information in visual IVR menu database. In an embodiment, search module searches visual IVR menu database in real-time based on the digits received from detection module 902. Therefore, a visual IVR menu may be identified based on the best match of the number formed by the received digits in visual IVR menu database. As a result, caller may not be required to dial, click, press or select the complete number, which may be convenient and time saving.

The visual IVR menu identified by a search module 904 is displayed on the display of device by display module 906 of Visuphone 104. Display module 906 identifies the position on the display where the visual IVR menu is to be displayed. In an embodiment, the visual IVR menu is displayed such that there is minimum overlap with the VOIP application from which the phone number was dialed or selected. Moreover, display module 906 identifies the size of the visual IVR menu for display based on the characteristics of the display screen of device. Examples of characteristics of the display screen include, but are not limited to, a screen size, resolution, and so forth. Furthermore, in case the visual IVR menu is not completely displayed on the display, then display module 906 may allow caller to navigate the visual IVR menu by scrolling. Moreover, display module 906 may be configured to display other information received from search module 904.

Caller 106 may interact with the visual IVR menu or other information displayed on device 102. For example, caller 102 may scroll through the visual IVR menu, or select a node from the visual IVR menu. Therefore, when caller 106 selects a node from the visual IVR menu, detection module 902 detects the selected node and communicates the selection to a connection module 908. Thereafter, connection module 908 may establish a connection between device 102 and a destination 108 based on the nodes selected by caller. Connection module 908 may be configured to detect communication systems available in device. For example, in a case, device 102 is a phone not connected to the Internet, connection module 908 may detect that only a radio connection can be made. Otherwise, a most suitable or a connection preferred by caller 106 can be made. In an embodiment, connection module 908 may allow caller 106 to select a VOIP application to establish the connection. In another embodiment, communication module 908 may launch a default VOIP application on device 102. In yet another embodiment of the invention, connection module 908 can use a VOIP protocol stack defined by Visuphone 104 to establish the connection.

In an embodiment, a call of caller 106 may be transferred from one point in the organization to another point within the same organization or to a completely different organization (or another branch of same organization). For example, a call of caller 106 with destination 108 a may be transferred to destination 108 b. However, destinations 108 a and 108 b may have different audible IVR menus. Connection module 908 is configured to identify the transfer of call and to switch the visual IVR menu of destination 108 a with destination 108 b. The switching of visual IVR menus is explained in detail in conjunction with FIG. 11.

Some organizations such as banks may require caller 106 to present a voice input for the purpose of authentication. For example, caller 106 may be required to voice out his name or an answer to a security question specified by caller 106 to the bank. Furthermore, voice input may be required to accept or decline a transaction. Caller 106 may record and store the voice responses for such authentications or questions alternatively the system can use synthesis voice. Therefore, when connection module 908 detects that a voice authentication is required, and then voice module 910 is used. Voice module 910 provides voice inputs on behalf of caller 106 by using the responses recorded by caller 106. Subsequently, the connection or the transaction can be processed.

As discussed in conjunction with FIGS. 4 and 6, Visuphone 104 may be configured to display advertisements on device 102. The advertisements are managed by advertisement module 912 of Visuphone 104. The advertisement may be selected based on the type of destinations. For example, when a dialed destination is a bank, then an advertisement related to banking may be displayed. Moreover, the advertisement can be related a third-party dealing in the same business or professional area or a competitor of the dialed destination. The displayed advertisement may be a text, audio, image or video. In one embodiment, advertisement module 912 may display the advertisements based on the connection bandwidth available at device 102. In another embodiment, advertisement module 912 may display the advertisements based on the pre-set preferences by caller 106. In one embodiment, advertisement module 912 may be configured to receive the advertisements directly from the dialed destination. In another embodiment, advertisement module 912 may be configured to receive the advertisements from a remote server on a network. The remote server is explained in detail in conjunction with FIG. 10. A selection or click by caller 106 on advertisements may be detected by detection module 902 to display a visual IVR menu of the destination for which the advertisement was displayed.

In some cases, the audible IVR menu of destination may change. For example, the extension numbers of agents in banks may be changed due to addition of new agents. A person skilled in the art will appreciate that there can be other reasons for the audible IVR menu of a destination to be edited, amended or updated. Further, new organizations may be available that use audible IVR menus. The visual IVR menus for these new organizations may not be available in visual IVR menu database stored on device. Therefore, visual IVR menu database may be required to be updated. In an embodiment, Visuphone may be updated to provide additional functionalities to caller. An update module 914 may be configured to update the visual IVR menus stored in visual IVR menu database of device. Moreover, update module 914 may be configured to update Visuphone. Update module 914 may receive the updated visual IVR menus from the remote server on the network. The remote server is explained in detail in conjunction with FIG. 10.

Visuphone 104 may record the caller's selections or keystrokes for audible IVR menus by using customization module 916. The keystrokes may be some personal data of the caller such as his account number, customer number, and so forth. Visuphone can provide better support to caller by presenting the recorded keystrokes so that the caller can approve and sending them without entering them every time. Customization module 916 personalizes the generic visual IVR menu by associating the keystrokes with it and storing in visual menu database 308. Alternatively, an additional set of standard may be defined for representing caller data. In this case, only the code indicating the type of required data is added to visual menu database 308. Visuphone 104 can than build a relatively small table in visual menu database 308, with the various personal data codes and the actual caller data as analyzed from the caller's keystrokes during his connection with destinations of the audible IVR menus.

FIG. 10 illustrates an exemplary remote server 1002 connected to a remote repository 1004. As shown remote server 1002 is connected to device 102 through a computer network 1006. Further, remote server 1002 can be connected to destinations 108 a-n through computer network 1006, a gateway 1008, and a PSTN 1010. A person skilled in the art will appreciate that device 102 can connect to destinations 108 a-n directly through PSTN 1010; therefore the connection is not limited to network 1006. Each of destinations 108 a-n may be connected to audible IVR menu repository 1012 a-n, here after referred to as destination repository 1012 a-n.

Further, device 102 includes visual menu database 308. As discussed above, visual menu database 308 includes visual IVR menus corresponding to audible IVR menus of destinations 108 a-n. Moreover, visual menu database 308 may store other information such as profile of caller, voice response of caller, login details for a VOIP application, preferences of caller, ratings for visual IVR menus, identity of visual IVR menus, and so forth. As discussed in conjunction with FIG. 9, Visuphone 104, the visual IVR menus or other information stored in visual menu database 308 may require to be updated. In an embodiment, visual menu database 308 is updated by information received from remote repository 1004. In another embodiment of the invention, visual menu database 308 may be updated by receiving menus through Short Messaging Service (SMS). The SMS may be sent from destination 108 a-n or remote repository 1004 to device 102. Remote repository 1004 includes visual IVR menus corresponding to audible IVR menus of destinations 108 a-n. Further, remote repository 1004 stores advertisements related to destinations 108 a-n, last updated time of the visual IVR menus, rating of visual IVR menus, and so forth.

In case, the audible IVR menu of a destination is changed, caller may not be able to connect to the destination by using Visuphone. Visuphone is configured to detect the error generated while establishing the connection. For example, caller may select a node in the visual IVR menu that may not have a corresponding option available in audible IVR menu, or a connection not be established between device 102 and the destination. The error is detected by update module 914 of Visuphone. Subsequently, update module 914 sends an error report to remote server 1002. Remote server 1002 may check remote repository 1004 for updates related to the visual IVR menu. Thereafter, in case any updates are available, remote server 1002 may send the updates to device 102 for performing the update. In an embodiment, visual menu database 308 may be checked and updated based on a pre-defined time interval by device 102. In an embodiment, the error report may include the error generated and an Identity (ID) or version of the visual IVR menu on which the error was generated. In case, the updates are not available in remote repository 1004, then an update of remote repository 1004 may be required.

In an embodiment of the invention, remote repository 1004 is updated based on a pre-defined time interval. In another embodiment of the invention, the caller can rate the relevance or correctness of the visual IVR menu from device 102. Therefore, remote repository 1004 can be updated based on a cumulative ratings received from callers and other callers of the visual IVR menu. Remote server 1002 can comprise a process of continuously scanning the IVRs 108 a to 108 n updating remote repository 1004 with changes of various IVR menus and adding addition menu records for new IVRs. Also, remote server 1002 might get a ‘problem report’ from device 102 if caller identify problem between the menus as it is in database 308 and the audible menu of a specific IVR. In such case a recheck process will be initiated to update remote repository 1004 and the new information can be than offered to device 102 for download an update.

In an embodiment, device 102 may send one or more messages or data packets for connection establishment with one of the destinations. Further, Visuphone 104 may detect a data network such as internet for sending data packets. The data network is a network capable of establishing data and voice communication among various communication devices (or devices). In an embodiment, when a data network is not available the one or more messages for establishing connection may be sent using Dual-Tone Multi-Frequency (DTMF) tones or messages. The process of establishing connection between device and a second communication device (or destination) is described in detail in FIGS. 31A, 31B, 31C, 31D, 32, 33 and 34.

In an embodiment of the invention, visual menu database 308 may include other information and parameters related to the visual IVR menus. The parameters related to the visual IVR menus enable accessing, modifying or updating of the visual IVR menus. Examples of parameters of visual IVR menus include, but are not limited to, ID or version of the visual IVR menus, destination phone numbers, and a last update timestamp. Furthermore, visual menu database 308 may include other information such as a profile, the calling history, or preferences of the caller. The calling history of a caller may include the numbers dialed or received, most frequent numbers dialed or received, most frequent nodes selected from visual IVR menus. The profile of a caller may include, but is not limited to, the name, age, sex, address, phone number, profession, office address, recorded voice responses for visual IVR menus, or other personal and professional details of the caller.

FIG. 11 illustrates an exemplary process for presentation of the visual IVR menu when the call of caller 106 is forwarded or transferred from destination 108 a to destination 108 b, in accordance with an embodiment of the invention. Destination 108 a may have completely different audible IVR menus as compared to destination 108 b. For example, destination 108 a may be a loan department and destination 108 b may be an insurance department of a bank. Similarly, the call may be forwarded from one organization to another. For example, from one branch of a back to another branch of same bank. Therefore, caller 106 may be required to respond to a different audible IVR menu. Visuphone 104 may be configured to detect that the call has been forwarded and subsequently display the visual IVR menu of destination 108 b.

As shown in FIG. 11, device 102 establishes a connection with destination 108 a as depicted by arrow 1102. The connection is established by using the visual IVR menu provided by Visuphone 104 based on destination 108 a. In an embodiment, the connection is established directly without using Visuphone 104. Thereafter, destination 108 a may forward the call to destination 108 b, as indicated by arrow 1104. The visual IVR menu corresponding to the audible IVR menu of destination 108 b may not be visible on device 102, as the call was forwarded between destination 108 a and destination 108 b. In an embodiment, Visuphone 104 may not detect the forwarding of the call. In this case, device 102 may be presented with audible IVR menu of destination 108 b. Thereafter, Visuphone 104 may record the options and responses on device 104 for the audible IVR menu of destination 108 b. The recorded options and responses may be stored at remote repository 1004 for updating it. Further, the recorded options and responses may be stored visual IVR menu database of device 102.

In an embodiment, destination 108 b sends an identity (ID) or version of the audible IVR menu to a caller as shown by arrow 1106. The audible IVR menu ID is specific to the audible IVR menu of destination 108 b. Subsequently, display module 906 of Visuphone 104 uses the audible IVR menu ID to display the corresponding visual IVR menu. Further, a caller may select a node from the visual IVR menu corresponding to destination 108 b. Therefore, when a caller selects a node, a connection may be established with destination 108 b. In an embodiment of the invention, connection between device 102 and destination 108 a is disconnected after establishing a connection between device 102 and destination 108 b. In another embodiment of the invention, connection between device 102 and destination 108 a is maintained for complete communication session till the caller disconnects the call.

Another embodiment of the invention allow visual IVR menu for calls made from a conventional home telephone. FIG. 12 illustrate a phone 1204 connected to a Public Switched Telephone Network (PSTN) 1208 and through a gateway 1218 to the Internet network 1220. Network 1220 may be any service provider that provides services, for example, but not limited to, telephone services, cell phone services, wireless services, Internet services, cable television services, or various combinations of the above or other type of services.

Further, the connection to network 1220 is associated with a wide band Internet ‘smart’ modem 1206. Phone 1204 may be a regular phone, such as a landline phone or a cordless landline phone. Modem 1206 may be a Digital Subscriber Link (DSL) modem or a cable modem that connects the home device to the Internet and/or computer network. Modem 1206 is connected to a service provider, and can provide the home devices with telephone, Internet and television services. Modem 1206 may provide both wired and wireless connections. As shown with reference to FIG. 12, modem 1206 provides the home with the Internet through wire 1210 to a computer 1202, or through a Wi-Fi connection. Modem 1206 comprises the ability to detect and recognize the dialing made by phone 1204. The numbers dialed by phone 1204 to establish connection are then compared with a database, such as visual menu database 308. Therefore, in case the dialed number corresponds to a destination with an audible IVR menu, and a corresponding visual IVR menu exists then, modem 1206 may provide the visual IVR menu on computer 1202 connected to it. Moreover, modem 1206 may use private web sites to present the visual IVR menu or just provide the dialed number to computer 1202. Thereafter, a software tool on computer 1202 may present the visual IVR menu on the screen of computer 1202.

Once the connection with the destination has been established, ‘smart’ modem 1206 will continue to monitor the numbers dialed or received by phone 1204 to browse or advance the visual IVR menu accordingly. Furthermore, the numbers dialed or received may be stored for future processing such as highlighting previous selections in the visual IVR menu, providing customized visual IVR menu, and so forth. The Visual IVR menu system comprising computer 1202 and Modem 1206 may incorporate additional enhancements as presented before such as automatic dialing of customer information. The automatic dialing may be achieved by using computer 1202 to initiate and execute such automatic dialing.

In another embodiment of the invention, a house television 1212 may be used to present the visual IVR menu. In various houses modem 1206 decodes television signals and transfer it to a set-top box 1216 that provide signals to television 1212. The visual IVR menu may be presented on a channel dedicated for IVR. Therefore, when phone 1204 is used to initiate a call, modem 1206 can detect it and present the visual IVR menu corresponding to the dialed number on the designated channel of the television 1212. Further, all the options described before can be provided now using the screen of television 1212 for the visual IVR menu. The caller selection can be done by using the simple home phone or alternatively using the TV 1212 set top box 1216 remote control. Further, television 1212 screen may be used to present the visual IVR menu in a few alternatives ways. For example, a device provided by a company named Roku Inc., allows streaming of content from the Internet to television. Most set-top boxes now have an Internet connection or telephone connections. Furthermore, various devices such as some Digital Versatile Disc (DVD) players, and video game players or controllers such as Xbox or Playstation, can be connected to the Internet. Each of those devices may allow ‘smart’ modem 1206 to provide a visual IVR menu on the screens of television 1212.

In another embodiment of the invention a telephone connection may be established through an external telephone service by using a computer, as discussed with reference to FIG. 13. External telephone service provider 1310, such as ‘Google Voice’, which a caller may use through the Internet network from computer 1302. In such case, the caller can cause a telephone call to be established by indicating on service provider 1310—‘Google Voice’ web site a request to establish call to a designated location. Thereafter, the external service provider 1310 establishes connection 1306 by using PSTN 1308 to connect the caller telephone 1304 to a desired destination 1312. External service provider 1310 can now present the visual IVR menu as discussed above. External service provider 1310 may present the visual IVR menu on its web site and processed or advanced based on the dial choices made by the caller on his computer 1302. Furthermore, external service provider 1310 can also add various options as described before, such as but not limited to highlighting previous choices, automatic dialing of caller information and presenting related advertisements.

Another enhancement for such external service provider 1310 is to provide a ‘smart’ connect. In case of the ‘smart’ connect, the caller can designate not just destination 1312, but a specific node of visual IVR menu, such as node 212 b as discussed with reference to FIG. 2B. The ‘smart’ connect will dial the proper selection in the visual IVR menu and connect to node 212 b of the audible IVR. The ‘smart’ connect can even wait until the selected node ‘Talk to Executive’ yields the desired result of the executive answering the line and then connect the caller. Therefore, the efficiency of the IVR system does not come at the cost of inefficiency of the caller; rather both sides can became more efficient by using the ‘smart’ connect.

Additional alternatives to the invention are illustrated with reference to FIGS. 14A, 14B, and 14C. FIG. 14A illustrates a Visu-Add-on 1404 which can be connected to a standard home phone 1402 to provide all the features and functionalities as described above with respect to Visuphone 104. Accordingly, phone 1402 may be connected through connection 1406 to add-on 1404 that can be connected to a standard telephone connection line 1410. Add-on 1404 may comprise a processing unit, a display and a database. The database may be similar to visual menu database 308 as discussed in FIG. 3. Therefore, when phone 1402 is used to call a destination with an audible WR menu, a corresponding visual IVR menu is presented on the display of add-on 1404. Furthermore, the display of add-on 1404 may comprise a touch sensitive screen for added convenience of a caller. Add-on 1404 may be loaded and updated by the use of removable memory devices, such as USB flash memory 1408. Alternatively, Add-on 1404 may comprise a modem to connect either by the use of the telephone connection line 1410 or by wireless means such as WiFi or Bluetooth.

FIG. 14B illustrates an embodiment, where an add-on unit 1414 is plugged into a conventional digital picture frame 1420 by using a USB port. Digital picture frames recently became quite popular as a convenient way to display family photos in digital format. In this embodiment, picture frame 1420 can display family photo until a call is made by using a phone 1412 to a destination with an audible IVR menu. Phone 1412 may be connected to picture frame 1420 through a connection 1418 and add-on 1414 may be further connected to standard telephone line connection 1422. Add-on 1414 may comprise a processor and a database. The database may be similar to visual menu database 308 as discussed in FIG. 3. Therefore, when a connection is made to a destination having an audible IVR menu, then add-on 1414 will present the visual IVR menu on picture frame 1420. Picture frame 1420 may resume presenting the photos after the completion of the call. Furthermore, the database of add-on 1414 could be updated with one of the options described before in respect to the add-on 1404 of FIG. 14A. It should be noted that various home television provides functionality similar to picture frame 1420. Therefore, television can be used as an alternative to picture frame 1420.

FIG. 14C present another embodiment that can be applied as presented with respect to FIGS. 14A and 14B. It quite common these days to use a telephone handset 1424 that are connected by wireless means to a base station 1430 that is connected by a wire 1432 to the standard telephone lines. Add-on 1426 can comprise an internal radio circuit to detect the wireless communication. Therefore, add-on 1426 can detect the communication between handset 1424 and base station 1430 to present the visual IVR menu. As can be seen with reference to FIG. 14C, connection through wires such as wires 1406 or 1418 may not be required. Add-on 1426 may be provided by the manufacturer of the handset 1424 and the base station 1430, or by a third party. A person skilled in the art will appreciate that the functionalities of the add-on units as described in conjunction with FIGS. 14A, 14B and 14C can be combined into a single unit. Therefore, a single add-on unit may be used in various environments as discussed above.

FIGS. 15A, 15B, 15C and 15D illustrate a flowchart diagram for presentation of the visual IVR menus, in accordance with an embodiment of the invention. Caller 106 may dial, select or receive a number to connect to a destination from device 102. The destination may include an audible IVR menu for interaction with a caller. Further, device 102 may include Visuphone 104 to present a visual IVR menu corresponding to the phone number of the destination. Therefore, a caller can directly interact with an IVR of destination through the visual IVR menu without listening to the audible IVR menu.

At step 1502, Visuphone such as of device 102 detects a phone number dialed, selected or received by caller for destination. In an embodiment of the invention, the number is clicked according to the display of device 102. The number is detected by detection module 902 of Visuphone 104. Thereafter, search module 904 searches visual menu database 308 of device 102 for the phone number, at step 1504. Search module 904 searches for visual IVR menu and other information corresponding to the phone number. Other information may include, for example, the caller profile, call history of the caller, advertisement associated with the phone number and so forth. In an embodiment of the invention, search module 904 searches visual menu database 308 in real-time. Therefore, the visual IVR menu and other information may be searched with only a few digits of the phone number.

At step 1506, it is determined by search module 904 whether the visual IVR menu and other information are available for the phone number in visual menu database 308. In case, the visual IVR menu is available, then the process continues to step 1508. In case, the visual IVR menu is not available, then device 102 may be connected to remote repository 1004 by update module 914, at step 1518 as shown with reference to FIG. 15B. Thereafter, it is checked whether the visual IVR menu is available in remote repository 1004, at step 1520. Subsequently, if the visual IVR menu is available, then visual menu database 308 is updated from the information available at remote repository 1004, at step 1522. The process then continues to step 1524.

Further, at step 1506, once it been determined by the search module 904 that the visual IVR menu for the destination is available in the visual menu database 308 an asynchrony request is sent to remote repository 1004, at step 1558. The request is sent to check whether a newer version of the menu with different content is available, at step 1560. Subsequently, if such version exists in remote repository 1004, then visual menu database 308 is updated accordingly, at step 1522. The process is then continues to step 1524.

In case, the visual IVR menu is not available in remote repository 1004, then the process continues to step 1528. At step 1528, audible IVR menu selection in detected on device 102. The audible IVR menu selection may be determined based on Dual Tone Multi Frequency (DTMF) tones or keys pressed by the caller of device 102. Thereafter, in case a selection is detected, then the dialed number may be detected as a possible destination number. The dialed number may be provided to remote repository 1004 at step 1530. Thereafter, the process continues to step 1526, where remote repository 1004 is updated for information.

At step 1524, it is determined by search module 904 if visual IVR menu is available for the dialed number in updated visual menu database 308. In an embodiment, Visuphone detects the correctness of information based on the error received on connection to the IVR destination or behavior of the caller. In case, visual IVR menu is available, then the process continues to step 1508. Otherwise, in case the visual IVR menu is not available, then the process continues to step 1526, where remote repository 1004 is updated for information. In an embodiment, Visuphone 104 sends an error report to remote repository 1004 to initiate the update. The error report may include the error details of connection, behavior of the caller and other information required to update remote repository 1004. In another embodiment, the caller may provide ratings for the correctness of the visual IVR menu and other information. Subsequently, the ratings are sent to remote repository 1004. In an embodiment of the invention, ratings from multiple devices are received at remote repository 1004. Thereafter, remote repository 1004 may be updated based on the ratings. In an embodiment of the invention, remote repository 1004 may be updated based on a pre-defined time interval. In another embodiment of the invention, remote repository 1004 is updated by an administrator of remote server 1102.

At step 1508, if the visual IVR menu is available in the visual IVR menu database, then the visual IVR menu corresponding to the audible IVR menu of destination is displayed on device 102. In an embodiment of the invention, advertisements related to the type of destination are also displayed on device 102. At step 1510, inputs from the caller are detected on the visual IVR menu. In an embodiment, the inputs include the nodes of the visual IVR menu selected by the caller. In another embodiment, the inputs include the advertisement selected by the caller. Subsequently, device 102 is connected to destination based on the inputs provided by the caller, at step 1512. At step 1514, it is determined if the visual IVR menu displayed on device 102 is correct. In case, the visual IVR menu is not correct, then the process continues to step 1518. Thereafter, the process steps as discussed above are followed. However, in case the visual IVR menu is correct, then the connection between device 102 and destination is maintained, at step 1516. Moreover, further inputs from the caller are received, to continue the communication till the caller or destination disconnects the connection.

The information stored in remote repository 1004 may be gathered from various destinations. For example, various destinations may be called to detect audio IVR menus and accordingly generate the information for remote repository 1004. With reference to FIG. 16 exemplary components of a device 1602 for implementing a database construction system 1606 are illustrated. Device 1602 can be a computing device such as, but not limited to, a server, a personal computer, a laptop, a mobile phone, a smart-phone, and so forth. Device 1602 can connect to network 1614 through a network interface 1612. Further, device 1602 can connect to a PSTN 1618 through gateway 1616 and network 1614 through network interface 1612. Examples of network 1614 include, but are not limited to a LAN, WAN, the Internet and so forth. Although not shown, device 1602 can connect to various external devices such as hard disks, mouse, keyboard, speaker, microphone, displays, Universal Serial Bus (USB) devices and so forth. Further, device 1602 can connect to various destinations 1620 a-n through PSTN 1618. Destinations 1620 a-n may provide audio IVR menu services. In an embodiment of the invention, device 1602 can connect to various devices that include Visuphone for providing updates to visual menu database 308.

Device 1602 may include a memory 1604 that stores various programs, data and/or instructions that can be executed by a processor 1610. Examples of memory include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, a computer-readable medium and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by device 1602. Memory 1604 may include Database Construction System (DCS) 1606 for gathering audible IVR menu information, which could be called the IVR customization record, from the destinations and store it in a records database 1608. In an embodiment of the invention DCS 1606 may be an application stored as software or firmware on device 1602.

DCS 1606 may include various modules or instructions that may be executed by processor 1610 for generating information in records database 1608, as explained in detail with reference to FIG. 17. As discussed above, DCS 1606 may be implemented as software, or firmware on a device. DCS 1606 may be implemented as a standalone module or as several independent instances performing similar jobs without coupling to the IVR destinations. Further, the non-coupling may be managed by a centralize module that may allocate different IVR destinations to each implementation instance of DCS 1606. In an embodiment of the invention, DCS 1606 and record database 1608 may be implemented on different devices.

Records database 1608, may include multiple records. Further each record may include an IVR identity code, multiple internal destinations and an activation code for each said internal destination. The IVR identity code may be for example, the phone number of the destinations. The activation code may be for example, a telephone key that should be dialed such as a dial tone associated with the phone number. The internal destination is usually an extension to which the call will be forward once the caller makes a choice, according to the provided menu, and apply the activation code that is usually a dial tone transmitted to the IVR from the Visuphone once the caller dials or selects a proper number or option. Each internal destination may further include another internal destination or extension that may be referred to as a internal destination. Moreover, each sub-internal destination may be associated with a sub-record.

Furthermore, the internal destinations may be associated with an icon code. As discussed above, the icons provide a convenient display for the caller of a visual IVR menu. In some audible IVR menus the activation code may be a voice command that could be activated by the caller by voicing his selection, or the Visuphone may transmit a pre-recorded voice command or a synthesized voice command when the caller makes a selection from the option menu of the visual IVR menu provided by the Visuphone. Further, records database 1608 may include a record of the metadata or keywords associated with the various options in the menus. The metadata and/or keywords may be used by the Visuphone to enable the caller to search for a desired menu by providing keywords. In an embodiment of the invention records database 1608 is remote repository 1004.

FIG. 17A illustrates exemplary components of DCS 1606, in accordance with an embodiment of the invention. DCS 1606 may include a Database Construction Agent (DCA) 1720 for generating information in records database 1608, as explained in detail with reference to FIG. 17B and FIG. 17C. Some destinations may provide downloadable records or information for the callers. Download module 1710 of DCS 1606, downloads the information or records provided by the destinations. For example, download module 1710 may download recorded voice phrases, audio data of the audible IVR menu, activation codes, complete audible IVR menu file in a variety of formats and so forth. In an embodiment of the invention, DCS 1606 may connect to various devices that include Visuphone. Therefore, DCS 1606 may receive information from Visuphone, such as personal records, customized records of the callers, and frequently used numbers, keys and so forth. In an embodiment of the invention, download module 1710 may obtain permissions before downloading the information. The permission may be obtained from the caller, the destination or both. For example, download module 1710 may display a notification on screen on the device to the caller or administrator to permit or reject a download. Moreover, download module 1710 may send an authorized communication such as, but not limited to, a private key to the destination to authorize and obtain permission for download. Personalization module 1708 may generate personalized records for the callers by associating the personal information of the caller with the information, such as the telephone numbers stored in records database 1608. The records can then be forwarded to the caller's device by download module 1710.

Personalization module 1708 may be implemented as instructions executable by a processor. For example, the processor can be processor 1610 or a second processor dedicated for personalization module 1708. Moreover, the second processor may be CPU 304, CPU 504 or implemented in another device in communication with DCS 1606.

DCA 1720 may include a Target List Module (TLM) 1722 that assigns the IVR destination or a target list to each instance of DCA 1720 for connecting and gathering information. The target list may include the IVR identity code, which can be as phone number or any type of information on how to connect to the IVR directly or indirectly. Further, the target list may include additional details such as internal destination. In an embodiment of the invention, the additional information of the internal destination may be implemented as one or more activation codes associate with the IVR identity code. DCA 1720 may include an IVR Tracking Module (ITM) 1724 that tracks IVR content from a root location associated with the Target information assigned by TLM 1722. ITM 1724 constructs the full IVR content from a given IVR root.

ITM 1724 may include IVR Logic Module (ILM) 1726. ILM 1726 may detect the type of IVR of the destination. Typically, various types of audible IVR menus are implemented by destinations. The audible IVR menus may be categorized into various types, such as a simple IVR, IVR with audio response, IVR with additional data authentication and so forth. ILM 1726 detects the type of audible IVR menu, and accordingly the information is generated for records database 1608. Various categories of the audible IVR menu are explained in detail in conjunction with FIG. 19. ITM 1724 may call the destinations to determine the category the audible IVR menu. Thereafter, ILM 1726 constructs the database based on the category of the IVR. In an embodiment of the invention, ITM 1724 may call the destinations multiple times to determine the category of the invention. Various audible IVR menus may include a legal notice. For example, the audible IVR menu of a mortgage bank usually include an header stating that this is debt collector and anything stated during the call could be used for future collections. Other statements can be such as those that relate to the option to record the call and so forth. ILM 1726 may detect the legal statements and store them in records database 1608 in association with IVR identity code.

ILM 1726 as part of its internal algorithm will drive the interaction sessions with the IVR. ILM 1726 may include data structure optimized with the tracked IVR menus to decide a right path or a next choice at any existing stage of the IVR tracking. The decisions made by ILM 1726 may be optimized as a mathematically directed graph tracking process. The tracking process may use an option from the audible IVR menu that corresponds to a “return to a previous menu” option of the audible IVR menu. As a result, the number of sessions required for tracking the audible IVR menu is reduced.

The process of IVR tracking may require multiple communications with the audible IVR menu to completely determine the content. Further, during the tracking process the content of the audible IVR menu may be discovered partially. Therefore, ITM 1724 may include a Tree storage Module (TSM) 1728 to manage a temporary database record. Thereafter, when the process or a phase is complete, TSM 1728 may use Repository Connection Module (RCM) 1738 to submit the content as a batch of records to records database 1608. In case, a connection to records database 1608 is not available, then TSM 1728 may accumulate the information until a connection can be established.

Dialog Module 1730 of ITM 1724 interacts with the audible IVR menu. Further, dialog module 1730 manages the IVR requests and sends responses according to the decisions of ILM 1726. Further, dialog module 1730 may use a Speech recognition Module (SRM) 1732 to interpret the audio of the IVR request to generate multiple records for records database 1608. In an embodiment of the invention, the audio is interpreted to generate text information. Moreover, SRM 1732 can provide a score to the text generated for each audio, according to the amount of guessing that is required for translating the IVR audio request. SRM 1732 may use a single grammar or a combination of dedicated grammars, for example, but limited to, a specific IVR service topic, IVR service sub topic, IVR stage, IVR location, the specific IVR, the hour of the day, and so forth. Furthermore, SRM 1732 may use multiple preset terms stored in the memory. Examples, of preset terms include, but not limited to, “yes”, “no”, name of the caller, and so forth. The text generated by SRM 1732 from speech recognition may be parsed by dialog module 1730 to enable ILM 1726 to select a next path or option.

Dialog module 1730 may be required to respond to the IVR requests during a tracking session. Dialog module 1730 may use a Response module 1734 to generate the required response. Various audible IVR menus require a voice response from the caller. For example, the voice response may be required for the authentication of the caller. Response module 1734 may provide a recorded voice response to the audible IVR menu. For example, the voice response may be recorded voice phrase or preset of terms such as, but not limited to, “yes”, “no”, name of the caller, and so forth. Further, the voice response may be a synthesized voice response, generated by response module 1734. Therefore, response module 1734 may include a voice synthesizer. In this case, the activation code may be the recorded voice phrase and/or the synthesized voice phrase. Moreover, response module 1734 may include a voice decoder to recognize the voice. For example, the voice prompts generated by an audible IVR menu. In some other cases, the IVR menus may require a simple key tone (DTMF). The response module 1734 may include recorded tones or an internal module to generate the require tones.

Various destinations may provide a different audible IVR menu in the working hours and a different menu after working hours or during the holidays. DCA 1720 may detect the various times or time periods for which the audible IVR menus are presented in different mode. SRM 1732 may decode the voice from the audible IVR menu to recognize the IVR message. Further, ILM 1726 may analyze the response message for the periods and different operating mode. Therefore, ILM 1726 may call the destinations based on the recognized periods to generate records database 1608. Further, records database 1608 may include the time information for which a particular audible IVR menu is active. Accordingly, ITM 1724 may call the destinations multiple times based on the time information.

Various audible IVR menus include multi-level menus, as discussed with reference to FIG. 2A. Therefore, each level of menu may include sub-menus, which may further include sub-menus, and so forth. Accordingly, records database 1608 may include multiple sub-records, and each of the sub-records may have activation codes associated with them. Furthermore, records in records database 1608 may include a code to indicate a business domain of the destinations, such as airlines, banks and so forth. In an embodiment of the invention, TLM 1722 may use a web-based list such as yellow pages to call the destinations. Generally, the phone numbers of the destinations in the yellow pages are organized based on the business domains of the destinations. Accordingly the business domain code could be added to record database 1608. As graphics and icons are very effective in enhancing caller interface, ITM 1724 may associate various phrases with specific icons. For example, ITM 1724 may include a dictionary of various terms or phrases that are frequently used in IVR menus, such as “customer care”, “main menu”, and so forth. The terms may be decoded by Dialog module 1730 and icons may be associated with them. Accordingly, records database 1608 may include a code for icons associated with the IVR menus of the destinations.

ITM 1724 may include components to connect to the audible IVR menu. As shown with reference to FIG. 17B, ITM 1724 may include a VOIP connection module 1736 to interact with a VOIP application 1740. VOIP application 1740 may be implemented within or outside DCA 1720. In such a case, VOIP connection module 1736 may use VOIP application 1740 to interact with the audible IVR menus.

Further, as shown with reference to FIG. 17C, ITM may include an IVR Connection module 1737, to interact directly with the audible IVR menu. IVR connection module 1737 may connect to multiple audible IVR menus through a network, a PSTN or any other communication or protocol. Moreover, IVR Connection module 1737 may act as a gateway between DCA 1720 and the destination of audible IVR menu.

FIG. 18 illustrates a flowchart diagram for generating records database 1608 by using DCS 1606, in accordance with an embodiment of the invention. The audible IVR menus of destinations may be analyzed to generate records database 1608 for corresponding visual IVR menus. At step 1802, a phone number may be dialed to connect to an audible IVR menu of destination. The phone numbers and destinations may be selected automatically from a database of phone numbers. For example, yellow pages for a selected territory, category, business or other suitable classifications. As discussed with reference to FIG. 2A, the audible IVR menu may include various options for a caller to select. Typically, the options are structured and presented in form of levels to the caller. For example, with reference to FIG. 2A, options 204 a, 206 a, and 220 a may form a first level of the audible IVR menu 222 a. Further, options 208 a and 210 a may be referred to as sub-menus to option 204 a. Similarly, each sub-menu may further comprise sub-menus, such as options 214 a and 216 a. Therefore, DCS 1606 is presented with audible instructions at first level. Thereafter, based on the selection by DCS 1606, corresponding audible instructions of sub-menus may be provided. The first level of the audible IVR menu is analyzed at step 1804. The audible IVR menu may be analyzed by voice recognition.

In an embodiment of the invention, the voice recognition for constructing records database 1608 is based on context-enhanced voice recognition. As the process of calling the destination is initiated by selecting a number from a list such as yellow pages, the voice recognition system would be provided file of potential menu terms, which could be farther narrowed base on knowledge of the business domain and the potential options such destinations may offer. Therefore, the process of voice recognition is greatly enhanced, when the recognition is done with respect to a relatively small number of choices. SRM 1732 in DCA 1720 may be pre-loaded with a small set of terms most likely used by the destination and, therefore, may be required to make the recognition out of the relatively small set of terms.

Further, the voice may be converted to a text format. In an embodiment of the invention, a voice-to-text application may be used to convert the audible instructions to text format. Subsequently, the information generated from the analysis of the first level is stored in records database 1608, at step 1806. The information may include the details about the sub-menu and the numbers to be dialed to access the sub-menu. For example, with reference to FIG. 2A, the information for option 204A may include, instruction part ‘pizza order’ and number part ‘2’ in the database. At step 1808, it is determined whether there are any sub-menus in the audible IVR menu. The sub-menus may be detected based on the information analyzed from the audible IVR menu. In an embodiment of the invention, sub-menus are detected based on the information stored in the database.

In case the audible IVR menu contains sub-menus, then the sub-menus are analyzed, at step 1810. The sub-menus may be analyzed in a similar manner as the first level of audible IVR menu as discussed above. Subsequently, at step 1812, the information corresponding to the sub-menus is stored in records database 1608. At step 1814, it is determined whether there are any further sub-menus in the sub-menus of the audible IVR menu. DCS 1606 may make select an option for every menu to connect accordingly and determine if a final destination is reached or there is another layer of menu options to be processed. Once the final destination it reached, DCS 1606 may “hang-up” the connection and register the results. Further, DCS 1606 may dial again to iteratively discover the full menu of the IVR. In case, there are further sub-menus then each sub-menu is analyzed as discussed above. The process is iterated till the complete audible IVR menu with the sub-menus is analyzed. Further, the destinations may be dialed multiple times to ensure that complete audible IVR menu and sub-menus are analyzed.

Moreover, records database 1608 may be automatically checked and verified after complete analysis of the audible IVR menu. For example, all or various options or sub-menus in the audible IVR menu may be selected randomly or based on a pre-defined pattern to verify the information in records database 1608.In an embodiment of the invention, DCS 1606 may be use quality marks for every term recognized during the process. For example, low marks may indicate relatively higher probability that the recognition was wrong. Further, follow-up steps may provide higher priority to check and validate the terms that received low marks. Such check may be performed by an additional automatic system or by human operators. In an embodiment of the invention, the destinations may be connected automatically through various probe servers to analyze the audible IVR menus. The probe may be implemented as a script, a computer program, or firmware, on remote server 1002, as shown with reference to FIG. 10. Further, the audible IVR menus may be analyzed by human operators, in case of malfunction or other issues with the automatic functioning.

In an embodiment of the invention, records database 1608 may be updated automatically based on a pre-defined update time interval. The update may be required to validate the correctness of information in the database. Moreover, records database 1608 may be updated based on ratings from callers of Visuphone. For example, the caller may identify that a visual IVR menu incorrect or incomplete, and may subsequently provide a rating to the visual IVR menu. Further, an administrator or caller of records database 1608 may update itmanually.

Various audible IVR menus require audio commands from the caller instead of selecting options. DCS 1606 analyzes such IVRs to generate records database 1608. In an embodiment of the invention, a two-phase process may be applied to generate records database 1608. In the first phase a standard menu is generated for the IVR that may relate to a particular class of the destinations. A class can be a business class, for example, banks, airlines, hospitals and so forth. The first phase could be extended to cover as many domains as possible so that standard menus exist for most business classes of destinations. In the second phase, the IVR that requires a natural language voice command may be interrogated by repetitively applying the standard menus according to the class. Therefore, the relevance of the standard menu for the specific IVR is confirmed. In the process, a stored voice or synthesized voice could be use for each menu option. Thereafter, the menu may be stored in records database 1608 based on the confirmation. Some IVR menus may require any or both of natural language commands and dial tones. In such a case, both options could be made available in the records database 1608, and eventually in the visual IVR menu database for the caller at the time of use. As discussed with reference to FIG. 17, DCS 1606 may determine the type of audible IVR menu for generating records database 1608.

FIG. 19 illustrates an exemplary set of IVR categories 1902. As shown a category A 1904 refers to typical audible IVR menus that present IVR options to the caller that can be selected from simple dial tone selections. In this case, DCS 1606 may provide various dial tones to the IVR for analyzing it, and generating records for records database 1608. A category B 1906 refers to an audible IVR menu that requires the caller to answer some initial questions, before presenting simple dial tone options for further menu. For example, the caller may be required to select a language preference, before presenting the menu. A category C 1908 may require the caller to provide some personal information before presenting the menu. For example, the caller may be required to input an account number, a phone number, a customer number and so forth. A category C 1910 refers to an IVR menu that may require voice inputs or natural language selection from the caller. In this case, DCS 1606 generates an activation code that points to a recorded voice phrase or a code that can instruct to synthesize the proper voice phrase required.

Additional variations of the categories include an IVR menu that provides a legal notice. For example, the audible IVR menu of a mortgage bank usually include an header stating that this is debt collector and anything stated during the call could be used for future collections. Other statements can be such as those that relate to the option to record the call and so forth. The statement may be registered and added to records database 1608, so that the legal statement can be presented with the visual IVR menu. Further, additional statements may be added at the end of the statements regarding the last time when the IVR was verified.

FIG. 20A illustrates an exemplary information process for an IVR menu stored in records database 1608. Sometimes, an audible IVR may request the caller for some specific or personal information that is other than selection of IVR options. ILM 1726 may mark such requests and process them separately. ILM 1726 can identify such requests based on a combination of the identity code and an ordered list of activation codes. As shown, the records database content 2002 may include exemplary request 2004 a “Please enter the invoice number”, request 2006 a “Please enter the payment amount”, request 2008 a “Please choose your payment card: Press 1 for VISA and 2 for MasterCard”, request 2010 a “Please say or enter credit card number”, and request 2012 a “Please enter your Credit Card expiry date”.

Corresponding to these requests a display may be generated on the caller's device, an exemplary illustration is as shown with reference to FIG. 20B. As shown, a web form 2014 is generated corresponding to the requests. Web form 2014 may be presented on a web browser of the caller's device. In another embodiment of the invention, the display is presented as an independent form on the display of the device. Therefore, the device may not require a web browser application. Web form 2014 may include single or multiple_pages. Further, in case the information is displayed directly on the device, then various screens, layers or scroll may be used to display the information. Web form 2014 may include an input box 2004 b corresponding to request 2004 a, input box 2006 b corresponding to request 2006 a, input box 2008 b corresponding to request 2008 a, input box 2010 b corresponding to request 2010 a, input box 2012 b corresponding to request 2012 a, and a submit button 2016. The Visuphone on the caller's device may automatically complete some or even all the require details based on stored profile or previous inputs of the caller. Therefore, the caller may only (if at all) be required to complete the missing information manually. Subsequently, the Visuphone may connect to the IVR after the caller clicks on the submit button 2016. Further, the Visuphone may navigate to the process root within the IVR menu, revalidate the process input requests, and transmit the caller data to the IVR without any action from the caller. Moreover, the Visuphone may hide the IVR validation question such as questions like “are you sure”, “did you mean XYZ?” and so forth. After the submission, a response such as, but not limited to, a receipt number, specific flight landing time, and so forth may be presented to the caller. The response from the IVR can be in various forms, for example, but not limited to, a recorded audible response or a transcript of the audible response.

In another embodiment of the invention, electronic yellow pages directory allows the dialing the number directly from the directory and further provides the visual IVR menu of the destination. In an embodiment, one or more destinations along with their associated properties may be displayed at the device prior to displaying visual IVR menu. In an embodiment, the one or more destinations are displayed based on the position of the dialed destination number and position of the one or more destinations. The caller can select the exact destination before dialing or follow the visual IVR menu after dialing. For example, an airline company might have various option, menus and layers in the large organization. Selecting the exact department in the organization before dialing can save the caller the time and overhead of listening to the menu and making decisions based on the voice menu. The yellow pages company can have a copy of the visual IVR menu database or can be connected to a visual IVR menu service in order to provide the menu to the caller.

In an embodiment, multiple options of destinations related to the dialed destination business category may be displayed by Visuphone 104 prior to displaying a visual IVR menu as described in detail in FIG. 21. For example, when caller 106 dials a phone number of pizzeria then Visuphone 104 may first display all the pizzerias available in nearby area. Caller 106 may select one pizzeria from the list of pizzerias. Thereafter, Visuphone 104 may display a visual IVR menu associated with the selected pizzeria (or destination). Further, Visuphone 104 may display geographical information and properties corresponding to destination phone number dialed. In an embodiment, the geographical information may be displayed before a connection is established between device 102 and the dialed destination such as destination 108 b. Moreover, the visual IVR menu is displayed after caller 106 selects one or more destinations based on the information. In an embodiment of the invention, Visuphone 104 displays information for destinations 108 a-n based on a business category. For example, if the phone number dialed by caller 106 corresponds to a teleshopping network, then the information displayed may relate to the specific teleshopping network dialed and/or to other teleshopping networks. In another embodiment of the invention, Visuphone 104 displays the information based on a relative geographical distance of caller 106 from that of dialed destination. The distance may be within a predefined range. For example, the pre-defined range can be 0 to 5 km, 0 to 500 m, a caller defined value, and so forth.

FIG. 21 illustrates an exemplary display of representations 2102 a-n of destinations 108 a-n on device 102, in accordance with an embodiment of the invention. In an embodiment, representations 2102 a-n may be displayed or presented to caller 106 prior to displaying visual IVR menu of a selected destination. Further, representations 2102 a-n may be displayed based on the distance or position of the destinations from the dialed destinations. In an embodiment, representations 2102 a-n may include information about various destinations which have same business category as of the dialed destination. For example, if caller 106 dials for a Chinese restaurant than Visuphone 104 will display representations of all restaurants serving Chinese food located within the predefined range of distance relative to caller 106.

Further, representations 2102 a-n may include properties associated with destinations 108 a-n. Examples of the properties include, but are not limited to a location code, a branch code, rating, reviews, an address, phone numbers, distance from caller 106, and so forth. In an embodiment of the invention, a caller representation as user 2104 corresponding to caller 106 may be displayed on device 102. Examples of the representation 2102 include, but are not limited to, graphical or text representations such as a table of rows and columns, icons, area map, and so forth. Representations 2102 a-n may also include the distance of destinations 108 a-n with respect to the location of caller 106.

Caller 106 may select a destination from the representations 2102 a-n based on one or more displayed properties. Subsequently, the visual IVR menu of the selected destination may be presented to caller 106. For example, if caller 106 selects destination 108 c, then a visual IVR menu corresponding to destination 108 c is displayed at device 102. In an embodiment, the display may include representation of a subset of destinations 108 a-n based on one or more criteria. The one or more criteria include displaying destination based on business category of dialed destination phone number. In an embodiment, the one or more criteria may also include displaying destinations based on location of device 102 or caller 106.

In an embodiment of the invention, device 102 may be an in-car navigation system such as a Global Positioning System (GPS). Therefore, when caller 106 dials a phone number of a destination, Visuphone 104 may provide a representation of one or more destinations on a map on device 102 screen. Further, the properties like location, reviews, ratings etc. associated with the destination may be displayed on the map. Caller 106 may interact with the displayed maps and can select a destination from the map based on the one or more properties. Further, caller 106 can select a destination by clicking or scrolling on the map. In an embodiment of the invention, a route map from caller 106 to the selected destination may be displayed on device 102 screen.

In an embodiment of the invention, device 102 can request for updates from a server through a communication network. The server may maintain the updated information of destinations and their associated properties. The communication network can include more than one device 102. Examples of the communication network include, but are not limited to, the Network, PSTN, Local Area Network (LAN), Wide Area Network (WAN), and so forth.

Alternatively an enhanced web base yellow page could be provided, wherein the caller can first choose the provider he/she requires to contact. Thereafter, if that destination provides an IVR, then the enhanced yellow page will use the visual IVR menu database to present a visual IVR menu on the web page. Moreover, the caller can click to choose the internal destination of that provider and the enhanced yellow page may accordingly initiate the call. The call could be made using the conventional telephone network or PSTN. In this case, the enhanced yellow page may need the caller's telephone number to perform the connection. Alternatively, the enhanced yellow page could use VOIP to connect the caller over the web to the IVR of the destination.

In some IVR systems, the caller may have to wait or hold on a queue of previous dialers until the specific department or agent is available. In another embodiment of the invention, the enhanced yellow page system will connect the caller only after the specific agent is available, without waiting in a long waiting line queue. The system can recognize that the waiting queue message of the specific department, and to connect the caller only after the agent is answering. Therefore, the waiting time of the caller on the phone queue that sometimes may be very long, may be reduced. The system can park on the line for the waiting line on the specific entry in the menu; as soon as the agent is available the caller gets a signal to start the conversation with the agent.

FIG. 22 illustrates an exemplary visual IVR menu 2202 of the selected destination with added graphics for the nodes on device 102. Visual IVR menu 2202 includes one or more options corresponding to every node in the destination. It is well known that graphics are easier to learn and are faster to recognize than words. Therefore, graphics can be used in various computerized device interfaces. Various types of graphics can be displayed for example, animated icons, icons that highlight or animate when the node is highlighted, and so forth. The graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 2202. For example, for node 2210 an icon of a vegetable may be displayed to designate a vegetarian pizza, and for node 2216 of home delivery, an icon of house may be displayed. In an embodiment of the invention, visual IVR menu 2202 can be customized to display only the text, only the icons, or both. Furthermore, caller 106 can suggest or use various icons based on his preferences. The visual IVR menu is specific to a destination. Further, each of destinations 108 a-n may have more than one audio IVR menus. So different visual IVR menu corresponding to one or more audio IVR menus is possible.

FIGS. 23A, 23B, and 23C illustrate a flowchart diagram for providing representation of destinations based on position, in accordance with an embodiment of the invention. Caller 106 may dial, select or receive one or more destination phone numbers to connect to a destination from device 102. Destinations 108 a-n may include an audible IVR menu for interaction with a caller. Further, device 102 may include Visuphone 104 to display one or more representations corresponding to multiple destinations on screen or display of device 102. Further, the one or more representations may include properties associated with the multiple destinations. Visuphone 104 also presents visual IVR menu corresponding to the phone number of the selected destination. Therefore, a caller can directly interact with a visual IVR menu 2202 of selected destination through visual IVR menu 2202 without listening to the audible IVR menu.

At step 2302, Visuphone 104 identifies a phone number of a destination dialed by caller 106 of device 102. In an embodiment of the invention, the number is clicked according to the display of device 102. The number is identified by CPU 304. In an embodiment of the invention, Visuphone 104 displays at least one property associated with one or more destinations 108 a-n based on the identified dialed phone number of the destination. Further, at step 2304, a location code associated with current location of device 102 is determined. The location code determines the present location of device 102. When caller 106 is in his/her home country or state, the location code of the device and location code of the dialed destination phone number is same. In an embodiment, when a person is on roaming the location code of caller 106 is different than the location code of the dialed destination phone number. This happens, in case when caller 106 is travelling and device 102 is on roaming. Central processing Unit (CPU) 304 of device 102 determines the location code of device 102.

At step 2306, CPU 404 determines a business category associated with the dialed destination phone number. Destinations 108 a-n can be categorized into various groups based on their associated business category. Various destinations are grouped into a business category based on the services and operations of the destinations. At step 2308, CPU 304 searches visual menu database 308, for phone numbers of the destinations matching the business category of the dialed destination phone number. Further, at step 2310, CPU 304 checks whether the destination phone numbers matching the business category are available in visual menu database 308. In case the one or more destination phone numbers are available, then the process continues to step 2312, else the process control goes to step 2328.

At step 2312, CPU 304 searches for at least one phone number from the one or more destination phone numbers based on the location code. The location code is associated with device 102. The location code determines the present location of device 102. In an embodiment, CPU 304 searches for at least one phone number from the one or more destination phone numbers based on the location code of device 102 b and a location code of the dialed destination phone number. At step 2314, CPU 304 checks whether the at least one destination phone number matching the location code of the device is available in the visual menu database 308. In case the at least one destination phone number, then step 2326 is executed. At step 2326, a visual IVR menu of the dialed destination phone number is displayed on display 302, as shown with reference to FIG. 23C.

At step 2314, when the at least one destination phone number matching the location code of device 102 is not available in the visual menu database 308, the process continues to step 2316. At step 2316, the at least one destination phone number with its associated properties are displayed. CPU 304 displays the at least one destination phone number and associated properties on display 302 of device 102. Further, at step 2318, caller 106 selects a destination phone number from the displayed representations of destinations. At step 2320, a visual IVR menu of the selected destination is displayed on display 302 of device 102. CPU 304 displays the visual IVR menu on display 302.

As discussed with reference to FIG. 22, visual IVR menu 2202 includes one or more options. At step 2322, caller 106 selects an option from visual IVR menu 2202. Thereafter, at step 2324, device 102 connects to the selected option of the visual IVR menu 2202. Thereafter, caller 106 can interact according to his/her preference with the destination through the visual IVR menu 2202. At step 2310, when the one or more destination phone numbers matching the business category of the dial phone number, are not available in the visual menu database 308, the process continues to step 2328, device 102 requests for updates from a server of communication network. The updates include information associated with destinations 108 a-n. The destination information includes destination phone number, and their associated properties. Further, at step 2330, the updates are received from the server by device 102. Then, at step 2332, the received updates are stored in the visual menu database 308 on device 102. Thereafter, the process continues to step 2308.

In another embodiment of the invention, electronic yellow pages directory allows the dialing the number directly from the directory and further provides representation of one or more destinations and the visual IVR menu of the destination. Therefore, the caller can first select a destination from the representation based on one or more properties such as reviews of that particular destination. The caller can select the exact destination before dialing or follow the visual IVR menu after dialing. For example, an airline company might have various option, menus and layers in the large organization. Selecting the exact department in the organization before dialing can save the caller the time and overhead of listening to the menu and making decisions based on the voice menu. The yellow pages company can have a copy of the visual menu database 308 or can be connected to a visual IVR menu service in order to provide the menu to the caller.

In an embodiment of the invention, Visuphone 104 may be configured to display one or more advertisements on device 102. As discussed with reference to FIG. 4 and FIG. 6 advertisement 408 may correspond to the type of services provided by the destinations dialed by a caller. For example, if destination dialed is a builder, then advertisement 408 may include promotions or offers about new plots or houses. Moreover, advertisement 408 may include promotions or offers from a third party or a competitor of the destination. Further, Visuphone 104 may be coupled to an advertising database. The advertising database may include advertisements related to the phone numbers of the destinations. The advertising database may be stored at device 102, the destinations, service providers or other third party servers. Further, the advertisements may be provided based on a profile of the caller. For example, assuming that the caller calls a bank holding his saving account. Therefore, the advertisement displayed to the caller may be based on the location, address, account balance, type and volume of transactions, loans, purchases, and so forth.

Visuphone 104 may be configured to connect to an intended destination, when the caller selects advertisement 408. Further, Visuphone 104 displays visual IVR menu of the intended destination. In an embodiment, Visuphone 104 can store the interactions of the caller with visual IVR menus. For example, Visuphone 104 may automatically learn the numbers dialed or options selected from the menu. Moreover, the learned numbers or choices are associated with the dialed phone number of the destination. Therefore, the caller is assisted in his future calls. For example, when caller calls the destination again, then the actions that were performed in the last interaction are presented prominently to caller; or a previous sequence may be automatically performed. Further, the actions that are frequently performed are presented prominently to caller. For example, if caller dials a bank frequently to enquire about his account balance, then the options for selecting his account balance may be highlighted.

As discussed with reference to FIG. 9, the advertisements are managed by advertisement module 912 of Visuphone 104. The advertisement may be selected based on the type of destinations or a business domain of the destination. For example, when a dialed destination is a bank, then the dialed number is identified and an advertisement related to banking may be displayed. Moreover, the advertisement can be related a third-party dealing in the same business or professional area or a competitor of the dialed destination. The displayed advertisement may be a text, audio, image or video. Moreover, the advertisement may include hyperlinks. For example, the hyperlinks may link to web pages of the called destination. In one embodiment, advertisement module 912 may display the advertisements based on the connection bandwidth available at device 102. In another embodiment, advertisement module 912 may display the advertisements based on the pre-set preferences by caller 106. In one embodiment, advertisement module 912 may be configured to receive the advertisements directly from the dialed destination.

In another embodiment, advertisement module 912 may be configured to receive the advertisements from a remote server on a communication network. The remote server is explained in detail in conjunction with FIG. 10. A selection of options or click by caller 106 on advertisements may be detected by detection module 902 to display a visual IVR menu of the destination for which the advertisement was displayed. Furthermore, the advertisements may be associated with the personal data of caller 106. For example, the advertisement may be displayed based on the calling pattern of caller 106.

FIG. 24 illustrates a flowchart for presenting advertisements along with the visual IVR menu on the device, in accordance with an embodiment of the invention. In an embodiment of the invention, Visuphone 104 may display advertisements along with the visual IVR menus on device 102. Device 102 can be a communication device or a device capable of data and/or voice communication. The advertisements may be stored in a database. In an embodiment, visual menu database 308 of device 102 may store the advertisements. In an embodiment of the invention, the advertisements may be stored on a remote database that can be connected to device 102.

At step 2402, a number dialed by a caller such as caller 106 for a destination is identified by Visuphone 104. The destination may be associated with an IVR, for which a visual IVR menu is displayed on device 102. Moreover, the telephone numbers or the destinations or the IVR systems may be categorized based on a business domain. At step 2404, advertisement associated with the dialed phone number is searched in the database. In an embodiment of the invention, the advertisements are searched based on the business domain of the dialed number. For example, when a dialed destination is a bank, then the dialed number is identified and an advertisement related to banking such as investment schemes may be displayed. Moreover, the advertisement can be related to a third-party dealing in the same business or professional area or a competitor of the dialed destination.

Thereafter, at step 2406 the advertisement searched is displayed on device 102. In an embodiment of the invention, multiple advertisements can be displayed on device 102. The displayed advertisement may include text, graphics, audio, image, video or hyperlinks. For example, the hyperlinks may link to web pages of the called destination. In one embodiment, advertisement module 912 may display the advertisements based on the connection bandwidth available at device 102. Further, the advertisements may be displayed based on the pre-set preferences by caller 106. In one embodiment, the advertisements may be downloaded from dialed destination or remote database on a server in the network.

Further, caller 106 may interact with the displayed advertisements. For example, caller 106 may click the advertisement, or select an option from the advertisement. The options may be telephone numbers, destinations or an internal department of the destination. At step 2408, it is determined whether caller 106 has selected the advertisement. Subsequently, in case caller 106 has not selected the advertisement then the existing advertisement is displayed as discussed at step 2406. In an embodiment of the invention, the advertisement is displayed for a pre-set time duration. Otherwise, in case the advertisement is selected by caller 106 than the process continues to step 2404, where the telephone number of the destination associated with the advertisement is used to search for advertisement.

In an embodiment of the invention, Visuphone 104 may be configured to submit personal information of a caller prior to establishing a connection with a dialed destination. In an exemplary scenario, the personal information may be used for authenticating the caller at a service login (such as for a web site or for a bank).

FIG. 25A illustrates an exemplary information process for an IVR menu stored in records database 1608, in accordance with an embodiment of the invention. Sometimes, an audible IVR or visual IVR menu may request the caller for some specific or personal information that is other than selection of IVR options. In an embodiment, the specific information may be requested in form of one or more fields, in which the caller can enter the information. For example, for a bank IVR system, when a caller selects an option from the displayed visual IVR menu of the bank, the caller may be presented with a form asking for one or more fields such as callername, password, and so forth. In an embodiment, IVR logic module (ILM) 1726 as shown in FIG. 17 may mark such requests and process them separately. Further, ILM 1726 can identify such requests based on a combination of the identity code and an ordered list of activation codes.

In another embodiment, caller 106 may be required to provide the specific or personal information as audio or voice inputs. Some organizations such as banks may require caller 106 to present one or more information in form of voice input for the purpose of authentication. For example, caller 106 may be required to voice out his name or an answer to a security question specified by caller 106 to the bank. Furthermore, the voice input may be required to accept or decline a transaction. Further, caller 106 may record and store the voice responses for such authentications or questions alternatively the system can use synthesis voice. As discussed with reference to FIG. 16 the audio prompts or voice inputs may be stored in the records database 1608 as content 2502. For example, the audio prompts may be converted to text and stored as content 2502. As shown, content 2502 of records database 1608 may include an exemplary request 2504 a “Please enter the login identity (ID)”, a request 2506 a “Please enter the password”.

As also discussed above, Visuphone 104 maintains a profile of the caller. Moreover, the caller can edit, remove, and/or update the profiles. For example, the profile may include information such as name, address, account type and codes, passwords, and so forth. Therefore, Visuphone 104 may match the content 2502 with the profile of the caller. As discussed with reference to FIG. 9, voice module 910 may be used when connection module 908 detects that a voice authentication is required. Voice module 910 is configured to provide voice inputs on behalf of the caller by using the responses recorded by the caller. Subsequently, the connection or the transaction can be processed.

FIG. 25B illustrates an exemplary web form generated for the information process of FIG. 25A, in accordance with an embodiment of the invention. As shown, web form 2510 may be generated corresponding to the requests. Web form 2510 may be presented on a web browser of the caller's device such as device 102. In another embodiment of the invention, the display is presented as an independent form on the display screen of the device of the caller. In an embodiment, web form 2510 may include single or multiple pages. Further, in case the information is displayed directly on the device, then various screens, layers or scroll may be used to display the information. Web form 2510 may include an input box 2504 b corresponding to a request 2504 a, an input box 2506 b corresponding to request 2506 a, and a submit button 2508. In an embodiment, Visuphone 104 on the caller's device may automatically complete some or even all the require details based on stored profile or previous inputs of the caller. Therefore, the caller may only (if at all) be required to complete the missing information manually. Subsequently, Visuphone 104 may connect to the IVR after the caller clicks on the submit button 2508.

Further, Visuphone 104 may navigate to the process root within the IVR menu, revalidate the process input requests, and transmit the caller data to the IVR (or destination) without any action from the caller. Moreover, Visuphone 104 may hide the IVR validation question such as questions like “are you sure”, “did you mean XXXX?” and so forth. After the submission, a response such as, but not limited to, a receipt number, saving account statement, and so forth may be presented to the caller. The response from the IVR system can be in various formats, for example, but not limited to, a recorded audible response or a transcript of the audible response. In an embodiment, Visuphone 104 may convert the format of the received response from a first format to a second format. In an embodiment, Visuphone 104 may change the format of the response from an audio format to a text format.

FIG. 26 illustrates a flowchart for submitting personal information of a caller by Visuphone 104, in accordance with an embodiment of the invention. At step 2602, caller 106 dials a phone number of a destination 108 such as destination 108 a. Subsequently, at step 2604 a visual IVR menu associated with the dialed number is displayed on the display screen of caller device 102. For example, destination 108 may be a bank. Thereafter, at step 2606 caller 106 may select an option from the displayed visual IVR menu. For example, caller 106 may select to make a transaction from account, so caller 106 may select an appropriate option from the displayed visual IVR menu. In an embodiment, caller device 102 can be a communication device such as a mobile phone, a laptop computer, and so forth. Typically, banking services may require caller 106 to provide authentication information before a transaction can be made. At step 2608, a form indicating the information required by the IVR of dialed destination 108 may be displayed on the display screen of caller device 102. In an embodiment, the form may include one or more data request fields. Further, the form is displayed corresponding to the visual IVR menu associated with the dialed destination. The exemplary form is discussed in conjunction with FIG. 25B.

Subsequently, at step 2610, Visuphone 104 may fill the information in the form displayed. In an embodiment, Visuphone 104 may fill the form partially. In an embodiment, the one or more data request fields may be filled based on predefined information. The predefined information may be associated and/or specific to the visual IVR menu of the dialed destination. In an embodiment, the predefined information may be defined by caller 106. In an embodiment of the invention, Visuphone 104 may require caller 106 to provide at least one count of authentication information from the perspective of security. In an embodiment, caller 106 may fill the one or more data request fields with important information. Further, caller 106 may define the predefined information. Caller 106 can also be referred as a caller. For example, Visuphone 104 may submit the name and account number of caller 106, but may not submit the transaction password. In another embodiment of the invention, Visuphone 104 may allow caller 106 to submit, edit and/or update the complete information in the form. Therefore, the updated information may be stored in the database on caller device 102. Thereafter, at step 2612 the connection between dialed destination 108 and caller device 102 may be established and the information stored in the form is submitted. Typically, the IVR of destination 108 may require caller 106 to provide the information in form of audio inputs. Therefore, Visuphone 104 may provide audio inputs corresponding to the information of the form. In an embodiment of the invention, the audio format of the information may be stored in caller device 102. In another embodiment of the invention, Visuphone 104 may convert the stored text data to audio information and submit it to the IVR of destination 108. Thereafter, caller 106 may interact with dialed destination 108.

In an embodiment, caller device 102 may receive a response from the dialed destination. In an embodiment, Visuphone 104 may convert a format of the received response from a first format to a second format. For example, Visuphone 104 may convert the receiver format of the response from the audio to text. In an embodiment, the first format of the received response may be an audio format. Examples of the audio format include, but are not limited to, WAV, Real Audio, Musical Instrument Digital Interface (MIDI), Windows Media Audio (WMA), MP3, Ogg, and so forth. In an embodiment, the second format may be a text format such as a Unicode text, Rich Text format, Hyper Text Markup Language (HTML) or any other format compatible with the caller device 102.

In an embodiment of the invention, Visuphone 104 may call the dialed destination based on predefined calling information automatically; it is described in detail in FIGS. 30A and 30B. In an embodiment, Visuphone 104 may keep on calling to the dialed destination until the requested information is received. Further, Visuphone 104 may save and/or display the received information at device 102.

FIG. 27 illustrates an exemplary representation of a visual IVR menu 2702 associated with the dialed phone number of the destination along with a scheduling mode option, in accordance with an embodiment of the invention. Visual IVR menu 2702 includes one or more options corresponding to every node in the audible IVR menu of the dialed destination of destinations 108 a-n. Visual IVR menu 2702 is an exemplary visual IVR menu of a pizzeria. It is well known that graphics are easier to learn and are faster to recognize than words. Therefore, graphics are used in various computerized device interfaces. Various types of graphics can be displayed for example, animated icons, icons that highlight or animate when the node is highlighted, and so forth. The graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 2702. For example, for node 2710 an icon of a vegetable may be displayed to designate a vegetarian pizza, and for node 2716 of home delivery, an icon of house may be displayed. In an embodiment of the invention, the visual IVR menu 2702 can be customized to display only the text, only the icons or both. Furthermore, caller 106 can suggest or use various icons based on his preferences. The visual IVR menu is specific to a destination.

Further, each of destinations 108 a-n may have more than one audio IVR menus. Therefore, different visual IVR menus corresponding to one or more audio IVR menus can be available for each of destinations 108 a-n. In an embodiment, device 102 may include more than one visual IVR menus for each destination of destinations 108 a-n based on the time. Therefore, different visual IVR menus corresponding to a destination 108 might be presented to caller 106 depending on the time of dialing to destination 108.

In an embodiment of the invention, a scheduling mode option 2720 can be displayed on the screen along with the visual IVR menu associated with the dialed destination. Caller 106 may switch device 102 to a scheduling mode by selecting scheduling mode option 2720. When device 102 is in scheduling mode, Visuphone 104 may start saving the inputs of caller 106. The inputs from caller 106 may include the selection of one or more options of the displayed visual IVR menu 2702. In the scheduling mode, Visuphone 104 may display one or more input options on the screen to enter a call schedule by caller 106. The call schedule may include information such as a date and a time. The selection of the date and the time is explained in conjunction with FIG. 28.

Furthermore, Visuphone 104 may automatically call a phone number of a destination of destinations 108 a-n automatically based on predefined calling information. The predefined calling information can be entered and/or selected by caller 106. The predefined calling information may include the selection information such as one or more options of visual IVR menu 2702 that are selected by caller 106 in the scheduling mode. Further, the predefined calling information may include the call schedule, which is the date and time information for the call. In an embodiment of the invention, the predefined calling information may also include additional data such as a predefined time interval, maximum number of dialing attempts, waiting time, and so forth.

In another embodiment of the invention, device 102 may be switched to the scheduling mode based on a predefined key sequence. Caller 106 may press or select or enter a predefined key sequence for switching device 102 to a scheduling mode. The predefined key sequence may be a combination of one or more keys. For example, the predefined key sequence may include two asterisks (*) after dialing a phone number such as 123-456-7890**. Visuphone 104 may detect such predefined key sequence dialed and switch device 102 to the scheduling mode. Thereafter, Visuphone 104 may save the user inputs. Further, Visuphone 104 may display the visual IVR menu associated with the dialed destination. Furthermore, Visuphone 104 may allow caller 106 to schedule the call by entering date and time information.

FIG. 28 illustrates another exemplary representation of a visual IVR menu 2802 associated with the dialed phone number of the destination along with the scheduling mode option 2720, in accordance with an embodiment of the invention. Visual IVR menu 2802 is an exemplary visual IVR menu of a bank. Visual IVR menu 2802 includes one or more options corresponding to every node in the audible IVR menu of the bank (or dialed destination of destinations 108 a-n). Though not shown, nodes of visual IVR menu 2802 may be represented using graphics such as, animated icons, icons that highlight or animate when the node is highlighted, and so forth. Further, graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 2802. Visual IVR menu 2802 includes nodes such as personal banking node 2806, NRI banking node. Caller 106 can choose NRI banking by pressing a combination 1-3. Thereafter, caller 106 can select investment option by pressing 2. Furthermore, caller 106 can suggest or use various icons based on his preferences. The visual IVR menu is specific to a destination. For example, hospitals will have different IVR menu than that of the bank. In an embodiment, scheduling mode option 2720 may also be displayed on the screen of device 102. Caller 106 can select scheduling mode option 2720 for switching device 102 to the scheduling mode. Further, Visuphone 104 may start saving one or more inputs from the caller after switching to the scheduling mode.

FIG. 29 illustrates an exemplary display at device 102 after switching to a scheduling mode, in accordance with an embodiment of the invention. As discussed with reference to FIG. 27, Visuphone 104 may save the inputs from caller 106 after switching to the scheduling mode. Device 102 switches to the scheduling mode based on the selection of the scheduling mode option 2720 by caller 106. In an embodiment, Visuphone 104 may be configured to detect the selection of the scheduling mode option 2720 by caller 106. In an embodiment of the invention, caller 106 may enter and/or select a call schedule 2902. For example, call schedule 2902 may include, but are not limited to, a date and time information. A calendar 2904 may be displayed on the screen of device 102 for entering and/or selecting the date information for scheduling the call. A time input box 2906 may be displayed on the screen of device 102 a for entering and/or selecting the time information for scheduling the call. For example, the call schedule information will include a date Mar. 15, 2011, and time 11:25:40, therefore Visuphone 104 dial at the phone number of the destination on Mar. 15, 2011 at 11:25:40 AM. In an embodiment, the time information may be displayed in 12 hour format. In another embodiment, the time information may be displayed in 24 hours format.

In another embodiment of the invention, call schedule 2902 may include a predefined schedule for calling to the destination. For example, Visuphone 104 may automatically schedule a call in next five minutes on the same day, based on the predefined schedule. In an embodiment, caller 106 is not required to enter or select the date and the time information for scheduling the call. In such a case, Visuphone 104 automatically schedules the call to the destination based on the predefined schedule. A person skilled in the art will appreciate that the date and time for predefined schedule is not limited to five minutes or same day, and can be edited by caller 106. Further, call schedule 2902 may also include additional information such as maximum number of calling attempts, waiting time, and so forth.

Thereafter, a communication is established between device 102 and the dialed destination. After establishment of the communication, Visuphone 104 may request and/or receive information from the dialed destination based on the selection information of the predefined calling information. In an embodiment, Visuphone 104 may keep on dialing the phone number of the destination until the requested information is received from the dialed destination based on the selection information. In an exemplary scenario, Visuphone 104 may be required to dial the phone number of the destination repeatedly when the requested information is not available on the dialed destination. The call schedule may further include the predefined time interval for calling the destination. For example, when the communication is not established with the dialed destination, Visuphone 104 can call the destination after waiting for the predefined time interval such as after ten minutes. A person skilled in the art will appreciate, that the predefined time interval is not limited to ten minutes, and can be edited by caller 106. In an exemplary scenario, if the requested information is not available at the dialed destination, than Visuphone 104 may wait for the predefined time interval of the call schedule and may call the previously dialed destination again, and may request for the desired information according to the selection information.

As discussed with reference to FIG. 3A, visual menu database 308 may store the predefined calling information. Further, visual menu database 308 may store the selection information and call schedule 2902. In an embodiment, call schedule 2902 may also include a predefined time interval and a predefined schedule. In an embodiment, visual menu database 308 may further store the predefined schedule and predefined time interval. Device 102 may also request or receive updates from the server at a predefined time. The predefined time may be for example, once a week, once a month, or any other interval predefined by caller 106 or Visuphone 104.

FIGS. 30A and 30B illustrate a flowchart for providing enhanced telephony by presenting a scheduling mode option 2720 to caller 106, in accordance with an embodiment of the invention. Caller 106 may dial, select or receive one or more destination phone numbers to connect to a destination from device 102. Destinations 108 a-n may include an audible IVR menu for interaction with caller 106. Further, device 102 may include Visuphone 104 to display a visual IVR menu associated with a phone number of a destination dialed by caller 106. As discussed with reference to FIG. 27, Visuphone 104 may further display scheduling mode option 2720 at device 102. Visuphone 104 may establish a communication with the phone number of the destination based on the predefined calling information. In an exemplary scenario, a user of device calls a bank, than a scheduling mode option and a visual IVR of the bank may be displayed on the device. Sometimes, the user might not be able to receive desired information during this call then the user can switch to a scheduling mode by selecting the scheduling mode option. Thereafter, Visuphone 104 may ask the user to enter predefined calling information. Later, Visuphone 104 may dial the phone number of the previously dialed bank based on the predefined calling information.

At step 3002, a phone number of a destination is dialed from device 102. Caller 106 may dial the phone number of destination of destinations 108 a-n. At step 3004, a visual IVR menu associated with the dialed number and a scheduling mode option 2720 is displayed at device 102. As discussed with reference to FIG. 3A, visual IVR menu 2702 and scheduling mode option 2720 may be displayed on display 302 of device 102. In an embodiment, caller 106 may interact with the dialed destination and request for information, by selecting one or more options of the visual IVR menu. In an embodiment, the requested information may not be available at the dialed destination at the time of the call. Therefore, in such a case caller 106 may need to dial the destination again or caller 106 may schedule a call at later time. At step 3006, device 102 is switched to a scheduling mode. Caller 106 selects scheduling mode option 2720 for switching device 102 to the scheduling mode. As discussed with reference to FIGS. IA and 27, in scheduling mode Visuphone 104 may save inputs such as predefined calling information from caller 106. The predefined calling information may include selection information and a call schedule.

At step 3008, Visuphone 104 saves the selection information including the one or more options of the displayed visual IVR menu. The one or more options are selected by caller 106. Thereafter, a display 2700 of device 102 switches to display 2900 including calendar 2904 and time input box 2906. Caller 106 may enter the date and time information in calendar 2904 and time input box 2906 respectively. At step 3010, Visuphone 104 saves the call schedule including the date and time information.

At step 3012, it is checked whether the entered call schedule's date and time has arrived. Visuphone 104 may perform the checking by comparing the call schedule's date and time with the current date and time. In an embodiment, Visuphone 104 determines the current date and time based on the system clock and/or internet. If the call schedule's date and time is not equal to current date and time, then at step 3014 the process waits for the call schedule's date and time to arrive, otherwise the process control goes to step 3016. At step 3016, Visuphone 104 dials the phone number of the destination. Visuphone 104 dials the phone number of the destination based on the call schedule of the predefined calling information and without any user intervention. Thereafter, Visuphone 104 may establish a connection with the dialed destination.

At step 3018, Visuphone 104 requests information from the dialed destination based on the selection information of the predefined calling information. In an embodiment, the requested information may not be available at the dialed destination at this time, so Visuphone 104 may wait for the predefined interval and may dial the phone number of the destination again. Examples of the predefined time interval may include, but are not limited to, thirty seconds, one minute, five minutes, ten minutes, twenty minutes, and so forth. In another embodiment, the dialed destination may transfer the request for the information by Visuphone 104 to the server, when the information is not available at the dialed destination. In another embodiment, when the information is not available at the dialed destination, the request of the information may be transferred to another destination of destinations 108 a-n. In an embodiment, caller 106 may interact with the dialed destination after establishment of the communication by Visuphone 104.

At step 3020, the requested information is received at device 102. The dialed destination may send the requested information to device 102 based on the availability of the information. In an embodiment, the requested information may be received from the another destination of destinations 108 a-n. In yet another embodiment, Visuphone 104 may receive requested information from the server. In an embodiment, Visuphone 104 may convert the format of the received information from a first format to a second format. In an embodiment, the first format of the received information may be an audio format. Examples of the audio format include, but are not limited to, WAV, Real Audio, Musical Instrument Digital Interface (MIDI), Windows Media Audio (WMA), MP3, Ogg, and so forth. In an embodiment, the second format may be a text format such as a Unicode text, Rich Text format, HyperText Markup Language (HTML) or any other format compatible with device 102.

At step 3022, Visuphone 104 saves the received information at device 102. In an embodiment, the saved information may be accessed by caller 106 in real time. In another embodiment, the saved information may be accessed by caller 106 later. At step 3024, Visuphone 104 displays the received information on display 302 of device 102.

According to an embodiment of the invention, Visuphone 104 may send one or more data packets (or messages) for establishing a connection or communication session in a communication network 3100 as illustrated in FIG. 31A-D. FIG. 31A-D illustrates exemplary environments, where various embodiments of the invention can function. Communication network 3100 includes a device 3102 a. In an embodiment, communication network 3100 may include different types of devices 3102 a-n. Herein after, device 3102 a may be referred as a first communication device. A person skilled in art will appreciate, that communication network 3100 may also include a plurality of devices 3102. Examples of communication network 3100 include, but are not limited to, the Internet, PSTN, Local Area Network (LAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), and so forth. In an embodiment, communication network 3100 can be a data network such as the Internet. The data network is a network capable of establishing data and voice communication among various communication devices. In an embodiment, communication network 3100 can be a telecommunication or telephone network capable of establishing only voice communication among various communication devices.

Further, communication network 3100 includes a second communication device 3108 a. In an embodiment, communication network 3100 may include a plurality of second communication devices 3108. A caller 3106 may use first communication device 3102 a to connect to second communication device 3108 a. First communication device 3102 a can be a telecommunication device that can connect directly to a PSTN 3110. A person skilled in the art will appreciate, that first communication device 3102 a can also connect to a private telephone exchange. Examples of first communication device 3102 a include, but are not limited to, a telephone, a mobile phone, a smart phone or any other device capable of voice or data communication. Caller 3106 may dial a phone number associated with second communication device 3108 a for connecting to second communication device 3108 a. First communication device 3102 a may have one or more associated phone numbers, which may be used by other devices for connecting to first communication device 3102 a. Similarly, each of the plurality of second communication device 3108 may have associated at least one phone number. In another embodiment, first communication device 3102 a may include a plurality of visual IVR menus corresponding to phone numbers of the plurality of second communication devices 3108.

In an embodiment, first communication device 3102 a may include an IVR application. In an embodiment, first communication device 3102 a may include the IVR application such as Visuphone 3104 a as shown in FIG. 31A. Visuphone 104 a may provide data regarding a phone number of second communication device 3108 a dialed by caller 3106. For example, the data may include geographical information or services provided by second communication device 3108 a-n. Second communication device 3108 a includes an IVR system. The IVR system allows caller 3106 to interact automatically with second communication device 3108 a. When caller 3106 dials a phone number and connects to second communication device 3108 a, an audible IVR menu may be played to caller 3106. Second communication device 3102 a can have more than one IVR menus. Visuphone 3104 a may display a visual IVR menu on first communication device 3102 a corresponding to the audible IVR menu associated with the phone number of second communication device 3108 a to be connected.

Second communication device 3108 a can be a device capable of data/voice communication. Examples of second communication device 3108 a include, but are not limited to, a telephone, a computer, a laptop computer, a personal digital assistant (PDA), a mobile phone, and so forth. Various types of second communication device 3108 a that implement the audible IVR menu include, for example, banks, hotels, fast-food outlets, utility services providers, corporate offices, mobile phone service providers, hospitals, and so forth. Further, second communication device 3108 a can have more than one audio/visual IVR menus. Typically, the audible IVR menu provided by second communication device 3108 a comprises audible options or instructions. In an embodiment, the visual IVR menu includes one or more text and/or graphical representation of different nodes corresponding to different nodes of the audio IVR menu.

In an embodiment, Visuphone 3104 a may send or receive one or more messages to or from second communication device 3108 a for establishing a communication session in communication network 3100. The one or messages may be sent as data packets when a data network such as the Internet is available. In an embodiment, the one or more messages may be sent as DTMF signals or tones. After establishing a communication session with second communication device 3108 a, caller 3106 can interact with second communication device 3108 a via the visual IVR menu associated with second communication device 3108 a.

In an embodiment, first communication device 3102 a may receive an acknowledgement message from second communication device 3108 a. In an embodiment, the acknowledgement message is received only when second communication device 3108 includes an IVR application such as Visuphone. The Visuphone will have similar functionality as explained in above figures.

In an embodiment, second communication device 3108 such as a second communication device 3108 b may include an IVR application such as Visuphone 3104 b as shown in FIG. 31B. As shown communication network 100 may further include a second communication device 3108 b (herein after second communication device 3108 may be used to refer second communication device 3108 b and second communication device 3108 a collectively or interchangeably). Visuphone 3104 b may send or receive one or more messages including information such as acknowledgment to or from first communication device 3102 a. Visuphone 3104 b is capable of sending messages required to establish a communication session with first communication device 3102 a.

FIG. 31C illustrates another exemplary environment where communication device may exchange one or more messages or data packets for establishing communication session, in accordance with an embodiment of the invention. As shown, first communication device 3102 b can be a communication device that may be connected directly to a network 3112. Examples of first communication device 3102 b include, but are not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, a fixed line telephone, a Voice Over Internet Protocol (VOIP) phone or other devices capable of voice or data communication. Examples of network 3112 include any wired or wireless network, such as but not limited to, LAN, WAN, a Wi-Fi network, and so forth. Further, first communication device 3102 b may include various applications or computer programs that enable caller 3106 to use first communication device 3102 b for dialing a phone number of second communication device 3108 a-n through PSTN 3110 over network 3112 through a gateway 3114. For example, the applications may be VOIP applications, such as but not limited to, Skype, Magic Jack, Google Talk, and so forth. As discussed with reference to FIG. 31A and FIG. 31B, second communication device 3108 b (or 3108 a) presents the audible IVR to first communication device 3102 b.

Further, Visuphone 3104 a may search or detect a data network. In an embodiment, Visuphone 3104 a may send one or more messages in the form of data packets to second communication device 3108 b, when a data network such as the Internet is detected or available. Further, Visuphone 3104 a may establish a communication session with second communication device 3108 b by exchanging one or more messages or data packets. Furthermore, Visuphone 3104 a may send a first section of a data packet including first information such as header information to second communication device 3108 b. In an embodiment, Visuphone 3104 a may receive a message including acknowledgement information from second communication device 3108 b. In an embodiment, the acknowledgement message is received at first communication device 3102 b, when second communication device 3108 b includes an IVR application such as Visuphone 3104 b as shown in FIG. 31B. The acknowledgement message may be received based on the first section of the data packet. Thereafter, Visuphone 3104 a of first communication device 3102 b may send a second section of the data packet including second information such as a payload. In an embodiment, the Visuphone 3104 a may exchange one or messages with Visuphone 3104 b or second communication device 3108 a in form of DTMF signals or tones.

As illustrated in FIG. 31D, first communication device 3102 c can be connected to the PSTN 3110 through network 3112 or through a cellular network 3116. Various service providers provide multiple or overlapping services to customers. For example, cable television service provider may also provide phone and network service, optical network provider may also provide phone or television services, WiMax service providers that provide phone service, and so forth. Network 3112 may be any service provider that provides such services, for example, but not limited to, cell phone services, wireless services, network services, cable television services, or various combinations of the above or other type of services.

First communication device 3102 c includes Visuphone 3104 a which displays data corresponding to the dialed phone number of second communication device 3108 b (or 3108 b). Further, Visuphone 3104 a may display a visual IVR menu corresponding to the audible IVR menu of the dialed phone number of second communication device 3108 b (or 3108 a). In an embodiment, the visual IVR menu may be displayed when a call is received from second communication device 3108 b. Thereafter, caller 3106 may select one or more options from the displayed visual IVR menu. In an embodiment, the visual IVR menu may have an associated identity (ID) or number. The visual IVR menu will indicate the version information of the visual IVR menu. In an embodiment, Visuphone 3104 a may send selection information including one or more options selected by caller 3106 to second communication device 3108 b. In an embodiment, Visuphone 3104 a may receive the audio/visual IVR menu from second communication device 3108 b when a latest version of the visual IVR menu is not available at first communication device 3102 c. In an embodiment, the dialed second communication device 3108 b may request the information from the server of communication network 3100 when the information requested by Visuphone 3104 a is not available at second communication device 3108 b. Thereafter, second communication device 3108 b may send the information received from the server to Visuphone 3104 a. Visuphone 3104 a may further request and/or receive information from the dialed second communication device 3108 b. Further, Visuphone 3104 a may display the information at first communication device 3102 c. In an embodiment, Visuphone 3104 a may include version information. The version information may be a combination of numbers, alphabets or an alphanumeric code indicating a version of Visuphone 3104 a. Herein after, first communication device 3102 may be used to refer first communication device 3102 a-c collectively.

FIG. 32 illustrates an exemplary packet 3202 sent from first communication device 3102 (or device 3102) to second communication device 3108, in accordance with an embodiment of the present invention. In an embodiment, Visuphone 3104 a of first communication device 3102 may send the packet 3202 to second communication device 3108 for establishing a communication session when a data network such as the Internet is available. Examples of packet 3202 include but are not limited to an Internet Protocol version 4 (IPv4) packet, an Internet Protocol version 6 (IPv6) packet, and so forth. In an embodiment, packet 3202 includes a first section 3202 a and a second section 3202 b. First section 3202 a of packet 3202 includes first information. In an embodiment, first section 3202 a may include header information. Examples of the first information include, but are not limited to, a Visuphone version, a visual menu identity (ID) of the visual IVR menu associated with second communication device 3108, an ACK bit, and so forth. The Visuphone version indicates the version information of Visuphone 3104 a present at first communication device 3102. The visual menu ID indicates the identity information of the visual IVR menu associated with the dialed phone number of second communication device 3108. In an embodiment, the ACK or acknowledgement bit may be used by second communication device 3108 (or 3108 b) to send an acknowledgement message. In an embodiment, the ACK bit may have a value such as 0 or 1. For example, second communication device 3108 may set the ACK bit or acknowledgement bit to 1 and send it back to first communication device 3102 as an acknowledgement message. A value 1 in the ACK bit indicates that the message is an acknowledgement message for a previously sent message or section of the packet. In an embodiment, second communication device 3108 sends the acknowledgement message when second communication device 3108 includes Visuphone 3104 b as shown in FIG. 31B. The ACK bit set as 1 indicates that the packet sent from first communication device 3102 has been received at second communication device 3108. In an embodiment of the invention, first section 3202 a may be a header section of IPv6 packet. The structure of header section or first section 3202 a is shown in FIG. 33.

In an embodiment, second section 3202 b of packet 3202 may include second information. Examples of the second information include, but are not limited to, a user ID, user options (selected from the visual IVR menu), user profile information (last dialed details), and so forth. In an embodiment, the second section may include a data or payload section. The user ID is the identity information of caller 3106 dialing the phone number of second communication device 3108. The user options indicate selection information including the one or more options selected from the displayed visual IVR menu. Visuphone 3104 a displays the visual IVR menu associated with second communication device 3108 when the caller dials the phone number of second communication device 3108. The user profile indicates the information related to previous communication session or activities of caller 3106 or first communication device 3102. The user profile indicates information such as last dialed numbers, time of last call, duration of last call to the second communication device 3108, access pattern of caller 3106, and so forth. In an embodiment, second section 3202 b may be a payload or data section of IPv6 packet. In an embodiment, the information of first section 3202 a and second section 3202 b may be sent separately as two different packets by Visuphone 3104 a. In an embodiment first section 3202 a and second section 3202 b may be sent in form of DTMF tones or signals. The messages are sent in form of DTMF tones when the data network is not available.

FIG. 33 illustrates an exemplary structure of first section 3202 a of packet 3202 sent to second communication device 3108, in accordance with an embodiment of the invention. In an embodiment, first section 3202 a of packet 3202 may be a header section of IPv6 packet. Further, first section 3202 a may include a plurality of fields. Example of plurality of fields include, but are not limited to, a packet version 3302, a traffic class 3304, a flow label 3306, a payload length 3308, a next header 3310, a hop limit 3312, a source address 3314, a destination address 3316, and so forth. Packet version 3302 indicates version information associated with packet 3202 such as IPv4, IPv6, and so forth. The version information may include numeric characters, alphabets or a combination thereof. In an embodiment of the invention, traffic class 3304 field may indicate whether the source device i.e. first communication device 3102 provides congestion control management or not. Flow label 3306 field may be used to provide real time applications special services. Payload length 3308 field may indicate the size or length of the payload or data section (second section 3202 b). Next header 3310 field points to next element or packet in the chain of packets when multiple packets are sent. Hop limit 3312 field may indicate the number of stops or hops the packet may take before reaching the final destination or second communication device 3108. Source address 3314 field may include the address of first communication device 3102. Destination address 3316 field may be address of second communication device 3108. In an embodiment, destination address 3316 field may be the address of next hop of packet 3202.

FIGS. 34A and 34B illustrates a flowchart for communicating among a plurality of communication devices, in accordance with an embodiment of the invention. As discussed with reference to the FIGS. 31A and 31B, communication network 3100 includes first communication device 3102. Further, communication network 3100 includes second communication device 3108. In an embodiment, first communication device 3102 may include Visuphone 3104 a. In an embodiment, second communication device may include an IVR application such as Visuphone. As shown in FIG. 31B, second communication device 3108 b includes Visuphone 3104 b. In another embodiment, second communication device may not include Visuphone as shown in FIG. 31A. Visuphone 3104 a of first communication device 3102 a may send one or more messages or packets to second communication device 3108. The messages may be sent as Dual-Tone Multi-Frequency (DTMF) or tones depending on the availability of the data network. Similarly, Visuphone 3104 b may receive or send one or more messages/packets from/to first communication device 3102. Further, Visuphone 3104 may display the visual IVR menu associated with a phone number of second communication device 3108. First communication device 3102 includes one or more visual IVR menus associated with a plurality of second communication devices.

Caller 3106 may dial a phone number of second communication device 3108. In an embodiment, Visuphone 3104 a may display a visual IVR menu associated with the dialed second communication device 3108. At step 3402, Visuphone 3104 a of first communication device 3102 searches for a data network such as the Internet. At step 3404, an availability of the data network is checked. When the data network is available the process continues to step 3408 else the process control goes to step 3406. At step 3406, Visuphone 3104 a sends a first section of the packet to second communication device 3108 such as second communication device 3108 b as DTMF signals or tones. As discussed with reference to FIG. 33, first section may include a first information or header information. Thereafter, first communication device 3102 and second communication device 3108 may further communicate through the exchange of DTMF tones or signals.

At step 3408, Visuphone 3104 a sends a first section of the packet as a data packet to second communication device 3108 a when the data network is available. In an embodiment, the data packet may be an IPv4 packet, an IPv6 packet, and so forth. As discussed with reference to FIG. 33, the first section of the packet includes first information. Examples of the first information include, but are not limited to, a Visuphone version, a visual menu identity (ID) associated with the visual IVR menu corresponding to second communication device 3108, an ACK bit, hop limit, payload length, traffic class, and so forth. The Visuphone version field indicates the version information of the Visuphone 3104 a present at first communication device 3102. In an embodiment, the visual menu ID field may indicate the identity information of the visual IVR menu associated with the dialed phone number of second communication device 3108. The ACK bit or acknowledgement bit may be used by second communication device 3108 to send an acknowledgement message from which the first section is received. In an embodiment, the ACK bit may have a value such as 0 or 1.

At step 3410, it is checked, at second communication device 3108, whether a Visuphone is available at second communication device 3108. If the Visuphone is not available, first communication device 3102 and second communication device 3108 may communicate by exchanging messages/information as DTMF tones or signals else process control goes to step 3412. At step 3412, an acknowledgement message based on the first section is received from second communication device 3108. In an embodiment, the acknowledgement message is received based on the first information of the first section. In an embodiment, Visuphone 3104 b of second communication device 3108 b sends the acknowledgement message to first communication device 3102.

At step 3414, Visuphone 3104 a sends a second section of the packet including second information to second communication device 3108 such as to second communication device 3108 b. Examples of the second information include, but are not limited to, a user ID, user options (selected from the visual IVR menu), user profile information (last dialed details), and so forth. The user ID is the identity information of caller 3106 who dials the phone number of second communication device 3108. The user options indicate selection information including the one or more options selected from the displayed visual IVR menu. The visual IVR menu is associated with the phone number of second communication device 3108 dialed from first communication device 3102. Visuphone 3104 a may display the visual IVR menu associated with second communication device 3108. The user profile indicates the information related to previous communication session or activities of caller 3106 or first communication device 3102. The user profile indicates information such as last dialed numbers, time of last call, duration of last call to second communication device 3108, and so forth.

In an embodiment, Visuphone 3104 a may send header information as a first section of the packet and data or payload as second section of the packet. In an embodiment, first communication device 3102 may send the second section of the packet after receiving an acknowledgement message from second communication device 3108. In an embodiment, the first section and the second section of the packet may be sent as a single packet 3202, as shown in FIG. 32.

FIG. 35A illustrates an exemplary communication network where a call is received at a device from a first party device, in accordance with an embodiment of the invention. A device 3502 a may receive a call from a plurality of first party devices 3508 a-n in a communication network 3500. A person skilled in art will appreciate, that communication network 3500 may also include different types of devices. Further, communication network 3500 may include a plurality of device 3502. First party devices 3508 a-n may initiate a call to connect to device 3502 a. First party devices 3508 a-n are devices which are capable of data/voice communication. Examples of first party devices 3508 a-n include, but are not limited to, a telephone, a computer, a laptop computer, a personal digital assistant (PDA), a mobile phone, and so forth. Each of first party devices 3508 a-n may have associated one or more phone numbers. Further, each of first party devices 3508 a-n may have audio or visual IVR menu corresponding to the associated one or more phone numbers. Various types of organization which implement audio IVR systems such as, but are not limited to, banks, hotels, fast-food outlets, utility services providers, corporate offices, mobile phone service providers, hospitals, and so forth. An agent or customer care executive, a person associated with the organizations may use first party devices 3508 a-n for initiating calls to devices 3502 a-n. Typically, the audible IVR menu provided by first party devices 3508 a-n comprises audible options or instructions. Further, the visual IVR menu includes one or more text and/or graphical representation of different nodes corresponding to different nodes of the audio IVR menu as displayed in FIG. 2A and FIG. 2B.

A caller 3506 may connect to a first party device of the first party devices 3508 a-n either by accepting a call from the calling first party device or by dialing a phone number of first party device 3508 a. After establishing a connection with first party device 3508 a, caller 3506 can interact with first party device 3508 a via the IVR menu associated with first party device 3508 a. Further, first party devices 3508 a-n can send information to device 3502 a. Similarly, device 3504 a may also request information from first party devices 3508 a-n. Device 3502 a can be a telecommunication device that can connect directly to a PSTN 3510. A person skilled in the art will appreciate, that device 3502 a can also connect to a private telephone exchange.

A Visuphone 3504 of device 3502 a can display a visual IVR menu associated with the calling first party device. In an embodiment, Visuphone 3504 may display the visual IVR menu at device 3502 a even before accepting the call by caller 3506. Thereafter, caller 3506 can select one or more options from the displayed visual IVR menu to obtain the required resource/information or service from the calling first party device 3508 a. Furthermore, Visuphone 3504 may display one or more communication options on a screen of device 3502 a. Examples of the communication options include, but are not limited to, a conferencing option, a call forwarding option, a busy option, and so forth. Caller 3506 can select a communication option from the displayed one or more communication options. Based on the selection by caller 3506 a communication session may be established between device 3502 a and the calling first party device 3508 a. In an embodiment, when caller 3506 selects the ‘conferencing’ option, another device of communication network 3500 may be included in the call with first party device 3508 a.

In an embodiment of the invention, device 3502 a can request and/or receive updates from the server. This may happen in a case when requested information is not available on the calling first party device. Device 3502 a may also request information from first party device 3508 a from which the call is received.

FIG. 35B illustrates another exemplary communication network in which an IVR menu is displayed when a call is received from a first party device, in accordance with an embodiment of the invention. As shown

a device 3502 b can be a communication device that can be connected directly to a network 3514. Examples of device 3502 b include, but are not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, a fixed line telephone, a VOIP phone or other devices capable of voice or data communication. Device 3502 b may include various applications or computer programs such as Skype, Magic Jack etc, that enable caller 3506 to use device 3502 b for receiving and/or accepting call from first party devices 3508 a-n through PSTN 3510 over network 3514 through a gateway 3512. Network 3514 may include any wired or wireless network, such as but not limited to, LAN, WAN, a Wi-Fi network, and so forth. As discussed with reference to FIG. 35A, first party devices 3508 a-n presents the audible IVR to device 3502 b. Visuphone 3504 will function in a similar manner as described in FIG. 35A.

As shown in FIG. 35C, a device 3502 c can be connected to PSTN 3510 through network 3514 or through a cellular network 3516. Various service providers provide multiple or overlapping services to customers. For example, cable television service provider may also provide phone and network service, optical network provider may also provide phone or television services, WiMax service providers that provide phone service, and so forth. Network 3514 may be any service provider that provides such services, for example, but not limited to, cell phone services, wireless services, network services, cable television services, or various combinations of the above or other type of services. In an embodiment of the invention, Visuphone 3504 may display one or more communication options at device 3502 c along with the visual IVR menu of the associated calling phone number of first party device 3508 a. Caller 3506 may select a communication option from the displayed communication options for interacting with the calling first party device 3508 a. In an embodiment, Visuphone 3504 may receive the visual IVR menu from first party device 3508 a. In an embodiment, calling first party device 3508 a may request the information requested by Visuphone 3504 or caller 3506, from the server of communication network 3500. Thereafter, calling first party device 3508 a may send the information received from the server to Visuphone 3504. Visuphone 3504 may further request and/or receive information from calling first party device 3508 a. Further, Visuphone 3504 may display the information at device 3502 c.

FIG. 36 illustrates yet another exemplary communication network in which an IVR is displayed when a call is received at a device, in accordance with an embodiment of the invention. As discussed with reference to FIG. 35A, communication network 3500 includes first party devices 3508 a-n which may initiate a call to the phone number associated with device 3502 a. Further, communication network 3500 may include a third party device 3602. In an embodiment, communication network 3500 may include more than one third party device 3602. Device 3502 a includes Visuphone 3504 that can receive the call from first party device 3508. Visuphone 3504 may further display a visual IVR menu associated with the calling first party device 3508. In an embodiment, device 3502 a may be referred as a second party device.

Further, Visuphone 3504 can highlight an option or node in the visual IVR menu. The highlighted option represents the exact position of first party device 3508 within the visual IVR menu from where the call is initiated. For example, in case of a bank, if a person from insurance department initiates a call to a mobile phone, then the node representing the insurance is highlighted in the visual IVR menu of the bank displayed at the mobile phone. Therefore, caller 3506 can know exactly from which department within the organization the call is coming from. Accordingly, caller 3506 may act or opt to attend or reject the call from first party device 3508.

Further, Visuphone 3504 may display one or more communication options on a screen of device 3502 a. Examples of the one or more communication options can include, but are not limited to, a conferencing option, a call forwarding option, a busy option, and so forth. Caller 3506 may select an option from the displayed communication options. Visuphone 3504 may establish a connection with a third party device based on the selection of the communication option by caller 3506. Third party device 3602 may be a device 3502, a first party device of first party devices 3508 a-n, a server, and so forth depending on the selection of the communication option. Further, third party device 3602 may have an associated phone number.

In an embodiment, when caller 3506 selects a ‘conferencing’ option from the displayed one or more communication options then third party device 3602 may be included in the call. Now third party device 3602, device 3502 a, and first party device 3508 a from which the call was received initially may communicate through a conference call and can interact with each other. Thereafter, all three types of devices in the conference call may further request or receive information from each other. In an embodiment, third party device 3602 may be another device of communication network 3500. In an embodiment, Visuphone 3504 may further display a visual IVR menu associated with third party device 3602. In an embodiment, Visuphone 3504 of the device 3502 a may receive the visual IVR menu associated with the phone number of third party device 3602. In an exemplary scenario, a user receives a call at a first mobile phone from an executive of the insurance department of a bank. The user may select a ‘conferencing’ option and can include another user of a second mobile phone who might be interested in knowing about the insurance policies offered by the executive. In an embodiment, caller 3506 of device 3502 a may opt to leave the conference call in between of the call. Thereafter, first party device 3508 a and third party device 3602 may continue with the call.

In an embodiment, caller 3506 may select a ‘call forwarding’ option of the displayed one or more communication options to forward the call coming from first party device 3508 a to third party device 3602. Thereafter, a user of third party device 3602 may interact with first party device 3508 a. For example, when a user of first mobile phone receives a call from a pizzeria, then a visual IVR menu of the pizzeria can be displayed at the mobile phone along with various communication options. The user may forward the call to a second mobile phone by selecting the ‘call forwarding’ option. Now, the call will be between the second mobile phone and the pizzeria. In an embodiment, third party device 3602 may include a Visuphone or IVR application. In another embodiment, third party device 3602 may include one or more audio and/or visual IVR menus. In an embodiment, a visual IVR menu associated with a phone number of third party device 3602 may be displayed on device 3502 a. Further, Visuphone 3504 may receive the visual IVR menu associated with the third party device from third party device 3602.

FIG. 37 illustrates an exemplary visual IVR menu 3702 along with one or more communication options at device 3502 a, in accordance with an embodiment of the invention. As discussed with reference to FIGS. 35A and 36, Visuphone 3504 may display the visual IVR menu 3702 associated with the phone number of calling first party device 3508 on the screen of device 3502 a. The visual IVR menu is displayed with added graphics on the screen of device 3502. Visual IVR menu 3702 may include one or more options corresponding to every node in calling first party device 3508. It is well known that graphics are easier to learn and are faster to recognize than words. Therefore, graphics are used in various computerized device interfaces. Various types of graphics can be displayed for example, animated icons, icons that highlight or animate when the node is highlighted, and so forth. The graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 3702. For example, for node 3716 of home delivery, an icon of house may be displayed. In an embodiment of the invention, visual IVR menu 3702 can be customized to display only the text, only the icons or both. Furthermore, caller 3506 can suggest or use various icons based on his preferences. The visual IVR menu is specific to first party device 3508 from which call is received.

Further, each of first party devices 3508 a-n may have more than one audio IVR menus. Therefore, different visual IVR menu corresponding to the one or more audio IVR menus is possible for each of first party devices 3508 a-n. In an embodiment, device 3502 may include more than one visual IVR menus for each first party device of first party devices 3508 a-n based on the time. Therefore, different visual IVR menus corresponding to a first party device 3508 might be presented to caller 3506 depending on the time of dialing to first party device 3508. In an exemplary scenario, in a hotel, the food items in a daytime menu card may be different from a night menu card. Accordingly, the options in the visual IVR menu may differ. Therefore, the visual IVR menus for daytime and night can be different for the hotel. When caller 3506 receives a call from the phone number of the hotel in daytime, a daytime visual IVR menu can be displayed at device 3502, and if caller 3506 receives a call at night, a different menu can be displayed at device 3502. Therefore, a visual IVR menu of the hotel displayed at device 3502 for a call received at 1 PM may be different then the visual IVR menu displayed for another call received at 5 PM.

Further, Visuphone 3504 may display the one or more communication options 3720 a-n on the screen of device 3502. Examples of one or more communication options 3720 a-n include, but are not limited to, a conferencing option, a call forwarding option, a busy option, and so forth. In an embodiment, when caller 3506 selects a ‘busy’ option from communication options 3720 a-n, a text or audio message may be sent to calling first party device 3508. For example, when a user receives a call from a bank and selects the ‘busy’ option from the displayed visual IVR menu of the calling bank, then a customized or predefined message such as “I am busy right now, so please call later” can be sent to the bank. In an embodiment, the message may be an audio message.

In an embodiment, when caller 3506 accepts the call from first party device 3508, a communication session is established between device 3502 and calling first party device 3508. After communication session establishment, Visuphone 3504 of device 3502 may request and/or receive information from calling first party device 102. In an embodiment, caller 3506 may include third party device 3602 by selecting ‘conferencing’ option from displayed communication options 3720 a-n. Thereafter, the three devices i.e. first party device 3508, second party device 3502, and third party device 3602 may have a conference call and can communicate with each other. In an embodiment, caller 3506 may include more than one third party device 3602 in the conference call. In an embodiment, third party device 3602 may include another communication device of communication network 3500 in the conference call. In another embodiment, the calling first party device such as first party device 3508 a may include another first party device such as a first party device 3508 b in the conference call. In another embodiment, first party device 3508 from which call is received may connect device 3502 to another first party device 3508 b during the call.

FIG. 38 illustrates another exemplary visual IVR menu 3802 along with one or more communication options at device 3502 a, in accordance with an embodiment of the invention. Visual IVR menu 3802 is a visual menu corresponding to an audio IVR menu of a bank. Visual IVR menu 3802 includes one or more options corresponding to every node in the audible IVR menu when the calling first party is the bank or an executive of the bank. Though not shown, nodes of visual IVR menu 3802 may be represented using graphics such as, animated icons, icons that highlight or animate when the node is highlighted, and so forth. Further, graphics may be displayed for each node or a few nodes based on the usability of visual IVR menu 3802. Visual IVR menu 3802 includes nodes such as personal banking node 3806, NRI banking node 3808. Caller 3506 can choose NRI banking by pressing a combination 1-3. Thereafter, caller 3506 can select investment option by pressing 2. Furthermore, caller 3506 can suggest or use various icons based on his preferences. The visual IVR menu is specific to a destination. For example, hospitals will have different IVR menu than that of the bank. In an embodiment, one or more communication options 3720 a-n may also be displayed on the screen of device 3502. Caller 3506 can select a communication option of displayed communication options 3720 a-n. Visuphone 104 may include a third party device as shown in FIG. 36 based on selection of the communication option.

Another embodiment of the invention allow visual IVR menu for calls received at a conventional home telephone. FIG. 39 illustrates the presentation of the visual IVR menu when a phone connection is associated with a wide band internet ‘smart’ modem. A phone 3904 connected to a PSTN 3908 and through a gateway 3916 to the Internet network 3918 is shown in FIG. 39. A first party device 3508 a can call a phone number of the phone 3904. Network 3918 may be any service provider that provides services, for example, but not limited to, telephone services, cell phone services, wireless services, Internet services, cable television services, or various combinations of the above or other type of services. An embodiment of the invention allow visual IVR menu for calls received at a conventional home telephone.

Further, the connection to network 3918 is associated with a wide band Internet ‘smart’ modem 3906. Phone 3904 may be a regular phone, such as a landline phone or a cordless landline phone. Modem 3906 may be a Digital Subscriber Link (DSL) modem or a cable modem that connects the home device to the Internet and/or computer network. Modem 3906 is connected to a service provider, and can provide the home devices with telephone, Internet and television services. Modem 3906 may provide both wired and wireless connections. Modem 3906 provides the home with the Internet through wire 3910 to a computer 3902, or through a Wi-Fi connection. Modem 3906 comprises the ability to detect and recognize the calls received by phone 3904. The phone number of the call received by phone 3904 to establish connection are then compared with phone numbers stored in a database, such as visual menu database 308. Therefore, in case the calling phone number corresponds to first party device 3508 a with an audible IVR menu, and also when associated visual IVR menu exists then, modem 3906 may provide the visual IVR menu on computer 3902 connected to it. Moreover, modem 3906 may use private web sites to present the visual IVR menu or just provide the phone number of the calling first party device 3508 a to computer 3902. Thereafter, a software tool on computer 3902 may present the visual IVR menu on the screen of the computer 3902.

Once the communication session is established between first party device 3508 a and phone 3904, the ‘smart’ modem 3906 will continue to monitor the numbers dialed or received by phone 3904 to browse or advance the visual IVR menu accordingly. Furthermore, the numbers dialed or received may be stored for future processing such as highlighting previous selections in the visual IVR menu, providing customized visual IVR menu and so forth. The visual IVR menu system comprising computer 3902 and modem 3906 may incorporate additional enhancements as presented before.

In another embodiment of the invention, a house television 3912 may be used to present the visual IVR menu. In various houses modem 3906 decodes television signals and transfers it to a set-top box 3914 that provides signals to television 3912. The visual IVR menu may be presented on a channel dedicated for IVR. Therefore, when phone 3904 is used to receive a call, modem 3906 can detect it and present the visual IVR menu corresponding to the phone number of the calling first party device 3508 a on the designated channel of the television 3912. Modem 3906 may further display one or more communication options 3720 a-n on the designated channel of the television 3912. Further, all the options described before can be provided now using the screen of the television 3912 for the visual IVR menu. The caller selection can be done by using the simple phone 3904 or alternatively using TV 3912, set top box 3914 remote control. Further, television 3912 screen may be used to present the visual IVR menu in a few alternatives ways. For example, a device provided by a company named Roku Inc., allows streaming of content from the Internet to television. Most set-top boxes now have an Internet connection or telephone connections. Furthermore, various devices such as some Digital Versatile Disc (DVD) players, and video game players or controllers such as Xbox or Playstation, can be connected to the Internet. Each of those devices may allow the ‘smart’ modem 3906 to provide a visual IVR menu and/or the one or more communication options 3720 a-n on the screens of television 3912.

FIG. 40 illustrates a flowchart for providing enhanced telephony when a call is received, in accordance with an embodiment of the invention. First party devices 3508 a-n may call a phone number of device 3502. Device 3502 may receive a call from the phone number of first party devices 3508 a-n. Caller 106 may accept call at device 3502 to connect or interact with first party devices 3508 a-n and/or third party device 3602. First party devices 3508 a-n may include an audible IVR menu for interaction with caller 3506. Further, device 3502 may include Visuphone 3504 to display a visual IVR menu 3702 associated with a phone number of a calling first party device 3508. Further, Visuphone 3504 may display the one or more communication options 3720 a-n at device 3502, as discussed with reference to the FIG. 37. Visuphone 3504 may establish a communication session with the phone number of calling first party device 3502 by accepting the call. In an exemplary scenario, a user of the mobile phone receives a call from a bank, then ‘conferencing’ and ‘call forwarding’ options may also be displayed along with the visual IVR menu of the bank on the mobile phone. The user may select a ‘conferencing’ option to include another mobile device in the conference call. Similarly, the user may select the ‘call forwarding’ option to forward the call to another communication device or a server in communication network 3500.

At step 4002, a call from a phone number of a first party device 3508 such as a first party device 3508 a, is received. The call may be received by Visuphone 3504 of device 3502. First party device 3508 a may initiate a call to device 3504 by dialing a phone number of device 3502. At step 4004, the phone number of first party device 3508 a is compared with a plurality of phone numbers stored at device 104. Visuphone 3504 may compare the phone number of first party device 3508 a with the stored phone numbers.

A visual menu database may store the one or more phone numbers of first party devices 3508 a-n. Further, the visual menu database stores one or more visual IVR menus associated with the phone numbers of first party devices 3508 a-n. In an embodiment, it may be checked whether a visual IVR menu associated with the phone number of the calling first party device 3508 a is present in the visual menu database of device 3502. If the visual IVR menu is not present, device 3502 may receive the visual IVR menu associated with first party device 3508 a from first party device 3508 a. In an embodiment, the visual IVR menu associated with first party device 3508 a may be received from the server.

At step 4006, visual IVR menu associated with the calling first party device 3508 a is displayed. The visual IVR menu may be displayed at the display of device 3502. The visual IVR menu includes one or more graphics and/or text options corresponding to different nodes as shown in FIG. 37. At step 4008, one or more communication options 3720 a-n is displayed. One or more communication options 3720 a-n may be displayed at a display of device 3502. Examples of one or more communication options 3720 a-n include, but are not limited to, a conferencing option, a call forwarding option, a busy option, and so forth. At step 3710, caller 3506 of device 3502 may select a communication option of the displayed one or more communication options 3720 a-n. At step 4012, a communication session is established based on the selection by caller 3506. In an embodiment, caller 3506 may select the ‘conferencing’ option, to establish the communication session between first party device 3508 a, device 3502 and third party device 3602. Thereafter, all the three devices can communicate/interact with each other and may request/receive information from each other. In another embodiment, caller 3506 may forward the call of first party device 3502 a to another communication device of communication network 3500 by selecting the ‘call forwarding’ option. In an embodiment, the call may be forwarded to a server of communication network 3500. In another embodiment, caller 3506 may select the ‘busy’ option when caller 3506 cannot attend the call. Selecting the ‘busy’ option by the user may send a predefined audio/text message to calling first party device 3508 a.

In another embodiment of the invention, a method is disclosed for displaying a visual IVR menu associated with a phone number of a first party device from which a call is received, at the device.

In an embodiment of the invention, more than one visual IVR menus associated with the phone numbers of the first party devices may be displayed at a communication device. In an embodiment, the Visuphone may display the one or more visual IVR menus at the communication device. In another embodiment of the invention, the user may request information from more than one first party device simultaneously. The user may interact with more than one visual IVR menus associated with different first party devices. In an embodiment, the one or more visual IVR menus may be associated with the second party device. For example: a user receives a call from an insurance department of a bank offering some insurance policy to the user. When the user accepts the call a visual IVR menu associated with the bank with the insurance department highlighted is displayed on the screen of the device. During the call, if the user wish to check his/her account balance to take a decision regarding insurance policies. The user may check his/her account balance by selecting the personal banking option from the visual IVR menu of the bank. As soon as the user selects this option another visual IVR menu of the personal banking will be displayed on the screen of the communication device. Thereafter, the user may simultaneously interact with both the visual IVR menus.

In an embodiment of the invention, the user may request information from more than one first party device simultaneously. The user may interact with more than one visual IVR menus associated with different first party devices. For example: a user gets a call from a restaurant offering different types of cuisine. When the user accepts the call a visual IVR menu associated with the restaurant is displayed at the screen of the device. During the call, if the user wishes to check menus of two or more cuisines, the user may select from the main visual IVR menu of the restaurant. Based on the selection by the user, the two or more visual IVR menus may be displayed at the device. Thereafter, the user may simultaneously interact with the displayed visual IVR menus.

According to an embodiment of the invention, portable devices such as smart phones, mobile phones, land line phone, and so forth may also include Visuphone and can connect to external devices. Usually the display screen of portable device is small and not so user friendly. The Visuphone of such devices may be configured to automatically detect external devices such as a laptop, a computer, an LCD screen etc present in its vicinity. Further, the detected electronic devices are configured to connect with the portable devices. This functionality of the Visuphone has been explained in detail using FIG. 41 to FIG. 64.

FIG. 41 illustrates an environment 4100 where a device may be connected to an external device, according to an embodiment of the invention. Environment 4100 includes a portable device 4102 including a Visuphone 4104. Examples of portable device 4102 include but are not limited to a mobile phone, a smart phone, a Personal Desktop Assistant (PDA), a tablet Personal Computer (PC), and so forth. Environment 4100 further includes a plurality of external devices 4106 a-n. Portable device 4102 may be used for data and voice communications. In an embodiment of the invention, portable device 4102 may include an Operating System (OS) such as, but not limited to, Windows Mobile, Apple iOS, Google Android, Symbian, and so forth. Portable device 4102 may be connected to multiple external devices 3506 a-n. Examples of external devices 3506 a-n include, but are not limited to, a display screen, a laptop, an electronic musical instrument, a keyboard, a mouse, and so forth.

Portable device 4102 may connect to external devices 4106 a-n by using Bluetooth, Wi-Fi, Infrared, or other wireless protocols. Further, portable device 4102 may connect to external devices 4106 a-n by using an Ethernet cable, a video cable, Universal Serial Bus (USB), and so forth. When connected to the external device such as a display screen, the display of the external device may be used to display the content of screen of portable device 4102. Moreover, external device 4106 b such as a mouse connected to portable device 4102, can be used to provide inputs that are reflected on the display of the external device. As a result, portable device 4102 can act as a universal communication hub that can enable interaction of multiple external devices 4106 a-n among each other.

FIG. 42 illustrates exemplary functioning of portable device 4102 in the environment discussed in conjunction with FIG. 41, in accordance with an embodiment of the invention. As shown, a display screen 4202, a keyboard 4204, and a mouse 4206 can be connected through portable device 4102. Therefore, the screen of portable device 4102 is displayed on a larger screen of display screen 4202. Moreover, a user can use keyboard 4204 and mouse 4206 to access the information through portable device 4102. For example, in this configuration, the user can browse the Internet by using display screen 202, keyboard 204, and mouse 206, while portable device 4102 provides the Internet connectivity. Therefore, a computer other than portable device 4102 may not be required by the user. As a result, the user can carry portable device 4102 and use it with various external devices as desired.

In an embodiment of the invention, portable device 4102 a such as a smart phone or mobile phone may detect and connect to a laptop 4302 as shown in FIG. 43. The connection between portable device 4102 a and laptop 4302 may be wired such as via a USB wire or it can be wireless such as via Bluetooth or Wi-Fi. Thereafter, portable device 4102 a may use display of laptop 4302. Further, laptop 4302 may be used to control one or more functions of portable device 4102 a and vice versa. For example, user can use one or more keys of laptop 4302 may be used to access phone book of the smart phone or to dial a phone number.

In another embodiment of the invention, portable device 4102 a may detect a large display screen 4402 as shown in FIG. 44. Further, portable device 4102 a may use Bluetooth, USB wire, and so forth to connect to large screen 4402. The large screen 4402 may be a Light Emitting Diode (LED) display screen, a Liquid Crystal Display (LCD) screen, and so forth. Usually. Portable devices such as mobile phones, smart phones, wired telephones etc. have either a small display or limited display capabilities. In such cases, portable devices include a Visuphone. The Visuphone may be further configured to detect and connect portable device 4102 to one or more external devices such as large screen 4402. Once configured, the Visuphone can detect large display 4402 and can connect to it via Bluetooth. In an embodiment, the portable device 4102 a may connect to external devices 4106 a-n using Near Field Communication (NFC) protocol. Further, when portable device 4102 a is video conferencing with another portable device, the video can be displayed at large screen 4402. For example, when the smart phone is in video call with another phone, the video of the user at another phone will be displayed at the large screen.

In another embodiment of the invention, portable device such as a smart phone 4102 a may detect and connect to a television screen 4502 as shown in FIG. 45. Visuphone 4104 can detect television screen 4502. In this case, television screen 4502 may be used to display the screen of portable device 4102 a such as a mobile device. Therefore, when the user is connected to television 4502, screen of television 4502 can be used to access various functions of portable device 4102 such as, but are not limited to, call receiving, dialing, browsing the phonebook, typing a message, browsing the Internet, and so forth. This functionality increases the comfort in using the small form factor of portable device 4102.

In another embodiment of the invention, Visuphone 4104 may detect a picture frame 4602 and connect it to portable device 4102 a it as shown in FIG. 46. The connection between portable device 4102 a (the smart phone) and picture frame 4602 can be wireless or wired. The wireless connection may be established by using Bluetooth, Wi-Fi, NFC, and so forth. The wired connection may be established via USB or using a cable wire. In an embodiment, picture frame 4602 may be a digital picture frame. The digital picture frame is a picture frame which may be used to display images or photos without the need of printing or using them on computer. Once connected, display of picture frame 4602 may be used to display screen of portable device 4102 a such as a mobile phone.

In another embodiment of the invention, portable device 4102 a may detect and connect to a Global Positioning System (GPS) navigation system 4702 as shown in FIG. 47. Visuphone 4104 detects GPS navigation system 4702. Therefore, when the user is connected to GPS navigation system 4702, screen of GPS navigation system 4702 may be used as display of portable device 4102 a such as a mobile device. Further, screen of GPS navigation system 4702 can be used to access various functions of portable device 4102 a such as call receiving, browsing the phonebook, browsing the Internet, and so forth. This functionality increases the comfort in using portable device 4102 a such as the mobile phone which has limited display.

In yet another embodiment of the invention, smart phone 4102 a can detect and connect to a projector 4802 as shown in FIG. 48. Visuphone 4104 detects the availability of projector 4802. Further, Visuphone 4104 may connect to projector 4802 using any of wired or wireless connection. Further, projector 4802 is configured to connect to connect to Visuphone 4104 of smart phone 4102 a. Projector 4802 may be connected to a display 4804. Similarly, the connection between projector 4802 and display 4804 can be wired or wireless. Further, projector 4802 can project the display of smart phone 4102 a on display 4804. Further, one or more functions of projector 4802 may be controlled by using connected smart phone 4102 a.

FIG. 49 illustrates exemplary display of an Interactive Voice Response (IVR) menu on a large display screen 4902 connected to a portable device 4102, in accordance with an embodiment of the invention. Large display screen 4902 can be a screen of any of external devices 4106 a-n. Portable device 4102 can be a smart phone, a mobile phone, a pager, and so forth. A visual IVR menu 4904 a is a visual menu including one or more options at portable device 4102. A visual IVR menu 4904 b is a visual menu at large display screen 4902 corresponding to visual IVR menu 4904 a. Displaying visual IVR menu of mobile phone on large display screen 4902 enhances visibility.

FIG. 50 illustrates a block diagram of portable device 4102, in accordance with an embodiment of the invention. Herein after, portable device 4102 may be referred to as device 4102. Device 4102 can connect to Public Switched Telephone Network (PSTN) 5016 through a radio interface 5012 in a wired or wireless manner. For example, radio interface 5012 may provide 2G, 3G, and/or 4G connectivity in case of device 4102 being a mobile phone. Moreover, network interface 5014 can be used to connect device 4102 to network 5018. Examples of network 5018 include wireless or wired networks such as Local Area Network (LAN), Personal Area Network (PAN), or other specialized networks. FIG. 51 shows when network 5018 is a wireless network 5102. Network interface 5014 may allow connectivity through various protocols such as TCP/IP, Bluetooth, acoustic signals, or other types of radio signals. For example, device 4102 may connect to a television through Bluetooth for displaying the contents of device 4102.

Device 4102 includes a display 5002 to output graphical information to the user. In an embodiment of the invention, display 5002 may includes a touch sensitive screen. A memory 5006 of device 4102 stores various programs, data and/or instructions that can be executed by a processor 5004. Examples of memory 5006 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by device 4102, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by device 4102. Further, memory 5006 may include an OS 5010. Further, other applications such as instant messaging application, browser, and so forth may be available on device 4102. Processor 5004 may include a connection manager 5008 that enables device 4102 to connect to external devices 4106 a-n through network interface 5014. In an embodiment of the invention, connection manager 5008 may be implemented as a second processor in device 4102.

Device 4102 includes a system bus 5020 for connecting the components. Examples of system bus 5020 include several types of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures.

In another embodiment of the invention, a portable device may be connected to a user device as shown in FIG. 52. As shown, an environment 5200 includes a portable device 5202 that can be used by a user through a user device 5204. Further, portable device 5202 may include a Visuphone 5208 for connecting and establishing a communication with user device 5204. Examples of user device 5204 include but are not limited to a mobile phone, a smart phone, a Personal Digital Assistant (PDA), a tablet Personal Computer (PC), and so forth. User device 5204 may be used for data and/or voice communications over a PSTN, mobile network, the Internet, the Ethernet, and so forth. Further, portable device 5202 is configured to connect to multiple external devices 5206 a-n. Furthermore, user device 5204 may be connected to multiple external devices 5206 a-n and communicate with any of external device 5206 through portable device 5202. User device 5204 is configured to connect with portable device 5202. Similarly, multiple external devices 5206 a-n are configured to connect to portable device 5202.

In an embodiment of the invention, portable device 5202 may include an Operating System (OS) such as, but not limited to, Windows Mobile, Apple iOS, Google Android, Symbian, and so forth. Examples of external devices 5206 a-n include, but are not limited to, a display screen, a keyboard, a mouse, an LED screen, a Laptop, and so forth. In an embodiment of the invention, portable device 5202 may include a dock for receiving and connecting to user device 5204. In an embodiment, user device 5204 may include a Visuphone.

Portable device 5202 may connect to external devices 5206 a-n by using Bluetooth, Wi-Fi, Infrared, or other wireless protocols. Further, Visuphone 5208 is configured to connect to any of external devices 5202 a-n. Further, portable device 5202 may connect to external devices 5206 a-n by using an Ethernet cable, a video cable, Universal Serial Bus (USB), and so forth. Therefore, the display on the screen of portable device 5202 can be presented on external device 5206 a such as a display screen. Moreover, external device 5206 b such as a mouse connected to portable device 5202 can be used to provide inputs that is reflected on the display screen. As a result, portable device 5202 acts as a universal communication hub that can enable interaction of multiple external devices 5206 a-n among each other.

Further, as shown in FIG. 53, user device 5204 may be connected to portable device 5202 via a network 5302. Network 5302 can be the Internet, LAN, MAN, and so forth. In an embodiment, user device 5204 and portable device 5202 may be separated by a large distance. Further, user device 5204 is configured to connect to portable device 5202. Further, Visuphone 5208 is configured to search for available one or more devices such as external devices 5206 a-n and user device 5204.

FIG. 54 illustrates exemplary functioning of portable device 5202 connected to a mobile phone 5402 in the environment as discussed in conjunction with FIG. 52 or FIG. 53. As shown, user device 5204 such as mobile phone 5402 may connect to display screen 4202, keyboard 4204, and mouse 4206 of the computer through portable device 5202. Therefore, the screen of mobile phone 5402 is displayed on a larger screen of display screen 4202. Moreover, a user can use keyboard 4204 and mouse 4206 to access the information through portable device 5202. For example, in this configuration, the user can browse the Internet by using display screen 4202, keyboard 4204, and mouse 4206, while mobile phone 5402 provides the Internet connectivity and portable device 5202 provides the connectivity among mobile phone 5402 (or user device 5204), display 4202, keyboard 4204 and mouse 4206. Therefore, a computer other than mobile phone 5402 and portable device 5202 may not be required by the user. In an embodiment, mobile phone 5402 (or user device 5204) may not include a Visuphone.

In an embodiment of the invention, portable device 5202 can provide connectivity to multiple user devices. For example, in a home environment, portable device 5202 may detect multiple mobile phones and wired phone. Therefore, the screen of a mobile phone may be displayed on a television near to that mobile phone. In another embodiment of the invention, portable device 5202 may enable communication among multiple user devices. Further, the multiple user devices are configured to connect to portable device 5202.

FIG. 55 illustrates an exemplary functioning of portable device 5202 connected to mobile phone 5402 and a projector 5502 in the environment as discussed in conjunction with FIG. 52 or FIG. 53. Portable device 5202 may be connected to projector 5502, and to a user device such as mobile phone 5402. Further, projector 5502 may be connected to a bigger display 5504. Once all the devices are connected, display of mobile phone 5402 may be displayed on bigger display screen 5504. Visuphone 5208 of portable device 5202 will detect and connect the configured devices i.e. mobile phone 5402 (or user device) and projector 5502. Thereafter, one or more functions of mobile phone 5502 can be controlled by using projector 5502 and vice versa.

FIG. 56 illustrates another exemplary functioning of portable device 5202 connected to mobile phone 5402 and large screen 4402 in environment 5200, in accordance with an embodiment of the invention. As shown Visuphone 5208 of portable device 5202 may detect an external device such as a large screen 4402. A user device such as a mobile phone 5402 can be connected to large screen 4402 via portable device 5202. Mobile phone 5402 is configured to connect with portable device 5202. Similarly, large screen 4402 is also configured to connect to portable device 5202. Further, the connection between portable device 5202 and mobile phone 5402 can be wired or wireless. Furthermore, the connection between portable device 5202 and large screen 4402 can be wired or wireless. Thereafter, display of mobile phone 5402 may be displayed on large screen 4402 after being connected to portable device 5202.

In an embodiment of the invention, external device 5206 a-n such as a television 4502 may be connected to user device such as mobile phone 5402 via portable device 5202 as shown in FIG. 57. Further, mobile phone 5402 and television 4502 are configured to connect with portable device 5202. In an embodiment of the invention, mobile phone 5402 may include a Visuphone. Though not shown, any user device other than mobile phone 5402 may be connected to portable device 5202.

FIG. 58 illustrates exemplary functioning of portable device 5202 connected to mobile phone 5402 and a laptop 4302 in the environment of FIG. 52 or FIG. 53, in accordance with another embodiment of the invention. A communication session between mobile phone 5402 and laptop 4302 may be established via portable device 5202. Mobile phone 5402 is configured to connect with portable device 5202. Similarly, laptop 4302 is also configured to connect to portable device 5202. After getting connected to each other via portable device 5202 contents of mobile phone 5402 may be displayed on screen of laptop 4302.

In another embodiment of the invention, an external device such as picture frame 4602 may be connected to a user device such as a wired telephone 5902 via portable device 5202 as shown in FIG. 59. As shown, Visuphone 5208 of portable device 5202 may detect an external device such as wired telephone 5802 and connect to it. Further, Visuphone 5208 may detect and connect to an external device such as picture frame 4602.

According to yet another embodiment of the invention, external device such as a GPS navigation system 4702 may be connected to a user device such as mobile phone 5402 via portable device 5202 as shown in FIG. 60. Both the devices i.e. GPS navigation system 4702 and mobile phone 5402 are configured to connect to portable device 5202. Once connected to portable device 5202, contents of mobile phone 5402 may be displayed by using screen of GPS navigation system 4702. For example, when a call is received at mobile phone 5402, an IVR menu associated with the calling party may be displayed at screen of GPS navigation system 4702.

FIG. 61 illustrates an exemplary display of a visual Interactive Voice Response (IVR) menu on a large display screen 6102 connected to a portable device such as the smart phone 6106, in accordance with an embodiment of the invention. Display 6104 a is a display of a visual IVR menu on smart phone 6106. Display 6104 b is the display of the visual IVR menu on large display screen 6102 corresponding to display 6104 a of smart phone 6106.

FIG. 62 illustrates a block diagram of portable device 5202, in accordance with an embodiment of the invention. Network interface 6210 can be used to connect portable device 5202 to network 6212. Examples of network 6212 include wireless or wired networks such as Local Area Network (LAN), Personal Area Network (PAN), Bluetooth, or other specialized networks. Network interface 6210 may allow connectivity through various protocols such as TCP/IP, Bluetooth, acoustic signals, or other types of radio signals. For example, portable device 5202 may connect a mobile phone to a television through a Bluetooth communication link. As a result, the contents on screen of the mobile phone can be displayed on the television screen which is larger than that of the mobile phone. In an embodiment of the invention, portable device 5202 can use different protocols for communicating with different devices based on their capabilities. For example, portable device 5202 may connect to a mobile phone through Bluetooth and the television through Wi-Fi.

Portable device 5202 includes a memory 6204 to store various programs, data and/or instructions that can be executed by a processor 6202. Examples of memory 6204 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by portable device 5202, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by portable device 5202. Memory 6204 may include an OS 6208. Further, other applications such as instant messaging application, browser, and so forth may be available on portable device 5202. Processor 6202 may include a connection manager 6206 that enables portable device 5202 to connect to external devices 5206 a-n through network interface 6210. In an embodiment of the invention, connection manager 6206 may be implemented as a second processor in portable device 5202.

Device 5202 includes a system bus 6214 for connecting the components. Examples of system bus 6214 include several types of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures.

FIG. 63 is a flowchart illustrating the functioning of portable device 4102 in accordance with an embodiment of the invention. As discussed with reference to FIG. 41, portable device 4102 includes a Visuphone 4104. Further, portable device 4102 is configured to detect and connect to any one of external devices 4106 a-n.

At step 6302, Visuphone 4104 of portable device 4102 searches for an external device 4106. For example, a Visuphone present in a smart phone searches for an external device such a large display screen, a laptop, a computer, and so forth. At step 6304, it is checked whether the external device is available. In an embodiment, the availability of external device is chaked within a predefined distance such as within 50 meters, 10 meters, and so forth. If the external device is detected the portable device connects to the external device at step 6306, else control goes back to step 6302. Thereafter, at step 6308 contents of display screen of portable device 5202 are displayed at the connected external device. For example, when connected to a laptop, the content of smart phone is displayed on the laptop screen.

FIGS. 64A and 64B illustrates a flowchart for implementing a portable device 5202 in the environment 5200, in accordance with an embodiment of the invention. Portable device 5202 includes a Visuphone 5208. Visuphone 5208 is configured to detect and connect to one or more devices such as external devices 5206 a-n, user device 5204, and so forth.

At step 6402, Visuphone 5208 searches for a user device 5204. At step 6404, it is checked whether user device 5204 is available. If user device 5204 is available than a connection is established between portable device 5202 and the detected user device 5204 at step 6406 else control goes back to the step 6402.

At step 6408, Visuphone 5208 of portable device 5202 searches for an external device 5206. At step 6410, it is checked whether the external device 5206 such as external device 5206 b is available. If the external device 5206 is available, then the process control goes to step 6412 else the control goes back to step 6408. At step 6412, a connection is established between portable device 5202 and the detected external device 5206 b. Thereafter, contents of display of connected user device 5204 are displayed on a screen of the connected external device 5206 b. For example, contents of a mobile phone may be displayed on a screen of a television which is connected to the television via portable device 5202.

FIG. 65 illustrates exemplary functioning of a Visuphone for displaying one or more contact options at a device, in accordance with an embodiment of the invention. Sometimes it may be desired by a caller to call specifically to a particular branch or department of a destination. For example, while calling for a restaurant the user may be interested in calling to a particular branch (or location) of the restaurant but the user might not be aware of the exact phone number of that branch. In an embodiment, when a user or caller dials a phone number of a destination, Visuphone of device such as mobile phone may display one or more contact options 6520 a-n along with the visual IVR menu associated with the dialed destination. Contact options 6520 a-n can be contact details or information associated with different branches (or locations) of the dialed destination. For example, if the user dials a phone number of a pizzeria (e.g. Pizza Hut), then the Visuphone will display visual IVR menu 6502 of the pizzeria as well as one or more contact options corresponding to the other branches of same pizzeria (of Pizza Hut).

Further, by clicking or selecting at least one contact option of contact options 6520 a-n, the user can connect to desired branch or department of the dialed destination (or pizzeria). In an embodiment, when the user selects a contact option 6520 b, a visual IVR menu associated with a particular branch or department of the dialed destination can be displayed at the device. In an embodiment, contact options 6520 a-n may include information such as, but not limited to, a phone number, an address, a department name, and so forth. In an embodiment, one or more contact options 6520 a-n can be a tab with a tab name such as department name. The user can select one contact option of contact options 6520 a-n based on the contact details or information. In an embodiment, the different branches of the dialed destination may have different IVR menus. Further, the user can switch the display on the screen of device (or device 102) by selecting at least one contact option 6520. Visuphone of device (device 102) takes the appropriate action based on the selection made by the user. In an embodiment, when the user selects a contact option, a visual IVR menu of the selected contact option such as a particular department of the dialed destination is displayed.

Visual IVR menu 6502 may include various options 6504 to 6518. The user can select one or more options from the displayed visual IVR menu. For example, the user can order a pizza by selecting option 6506 or by pressing 1-2 keys of keypad of device. In an embodiment, the user may switch directly to some other department or branch of the dialed destination by selecting at least one contact option from the displayed contact options 6520 a-n. Based on the selection, the display of device 102 may change.

FIG. 66 illustrates change of display at user device 102, when a user selects a contact option, in accordance with an embodiment of the invention. As discussed with reference to FIG. 65, when a user selects a contact option such as 6520 b of the contact options 6520 a-n, a visual IVR menu 6602 associated with the contact option 6520 b may be displayed at device 102. Visual IVR menu 6602 may include various options 6604-6614. For example, if the user selects a contact option corresponding to a home delivery department of the dialed pizzeria, then visual IVR menu 6602 for home delivery can be displayed as shown. Visual IVR menu 6604 includes options such as for ordering pizza by selecting an option 6606 (in case of a touch screen enabled device) or by pressing a combination of keys i.e. 1-2 on keypad of device 102. Similarly, the user may get status for previously placed order by selecting an option 6608. The user can choose to talk to an executive by selecting option 6614. Contact options 6520 a-n provides an option to the user for directly connecting to IVR system of the desired branch, this way time can be saved.

FIG. 67 illustrates an exemplary functioning of Visuphone for displaying one or more contact options at a device, in accordance with another embodiment of the invention. When a user dials a phone number of a destination, such as an XYZ airlines customer care, from device 102. Then a visual IVR menu 6702 of the XYZ airlines can be displayed at screen of device 102. Additionally, one or more contact options such as XYZ Domestic Airline Contact Option 6720 a and XYZ International Airline Contact Option 6720 b can be displayed at the screen of device 102.

In an exemplary scenario, the user may be interested in contacting or knowing details of domestic airlines or international airlines department of XYZ Airlines specifically. The user may directly dial to these specific airline departments by selecting a related contact option from the displayed contact options. For example, the user can directly connect to domestic airlines IVR system of XYZ airlines by selecting the XYZ Domestic Airlines Contact Option 6720 a. After detecting the selection of option 6720 a, the Visuphone of device 102 can display a visual IVR menu associated with the Domestic Airlines department of XYZ airline as shown in FIG. 68. Similarly, the user can select International Airlines Contact Option 6720 b to directly connect to the XYZ International Airlines department. Thereafter, the user can interact with the displayed visual IVR menu.

FIG. 68 illustrates change in display at device 102 based on selection of a contact option by a user of device 102, in accordance with an embodiment of the invention. As discussed with reference to FIG. 67, a visual IVR menu of XYZ airlines is displayed when the user dials a phone number of XYZ Airlines. One or more contact options 6720 a-b can also be displayed along with visual IVR menu 6702. After detecting a selection of contact option from the user at device 102, the Visuphone may display a visual IVR menu of the selected option. As shown, the visual IVR menu 6802 associated with domestic airlines department of XYZ is displayed when the user selects ‘XYZ Domestic Airlines Contact Option’ 6720 a. Visual IVR menu of XYZ domestic airlines includes multiple options such as a Booking option 6806, a Status Inquiry option 6808, an Other Inquiry option 6810, and so forth. The user can interact with visual IVR menu 6802 by selecting one or more options of visual IVR menu 6802 from these options 6804 to 6818. For example, the user can select a combination of keys 1-4-2 to directly talk to an executive. In an embodiment, device 102 may have a touch sensitive screen, in such as device the user can select option 6818.

FIG. 69 illustrates a flow diagram illustrating an exemplary functioning of the Visuphone for displaying one or more contact options, in accordance with an embodiment of the invention. Device 102 includes a Visuphone for displaying a visual IVR menu associated with a dialed phone number of a destination. Further, the Visuphone can display one or more contact options on a screen of device 102. Device 102 can be a telecommunication device that can connect directly to a Public Switched Telephone Network (PSTN) 110. A person skilled in the art will appreciate, that device 102 can also connect to a private telephone exchange. Examples of device 102 a include, but not limited to, a mobile phone, a Smartphone, a telephone, or any other device capable of voice or data communication. When caller 106 dials a phone number of a destination and connects to any destination from destinations 108 a-n, a visual IVR menu may be displayed at device 102. Additionally, one or more contact options may also be displayed at device 102. Contact options may include information describing one or more branches of the dialed destination.

At step 6902, a user dials a phone number of a destination. At step 6904, the Visuphone displays a visual IVR menu associated with the dialed phone number of the destination. At step 6906, one or more contact options are also displayed at the screen of device 102. In an embodiment, the Visuphone searches the database for contact options matching the phone number of the dialed destination and displays the contact options at device 102. At step 6908, a user selects at least one contact option from the displayed contact options as shown in FIG. 65 and FIG. 67. Thereafter, at step 6910, the display of the visual IVR menu at device 102 is changed based on the selection of the contact option. In an embodiment, a visual IVR menu associated with the selected contact option is displayed at device 102. Thereafter, the user or caller may interact with the displayed visual IVR menu of the selected contact option.

Embodiments of the invention provide a method for establishing a communication session among a plurality of communication devices. A communication device may send a first section including first information or header information to a second communication device. A Visuphone at the communication device sends the first section. The communication device includes one or more visual IVR menus. The header information may include information such as Visuphone version, visual IVR menu ID, ACK bit, and so forth. In an embodiment, the communication device may receive an acknowledgement message based on the first section from the second communication device. The acknowledgement message is received when the second communication device includes a Visuphone. Thereafter, the Visuphone at the second communication device may send a second section or packet including a second information or payload to the second communication device. The payload may include information such as user ID, user profile, user selection, and so forth. Thereafter, a communication session is established between the communication device and the second communication device. In an embodiment, the second communication device may not include the Visuphone. In such a case the communication device and the second communication device communicates through DTMF signals or tones.

An aspect of the invention is to provide a system for communicating among a plurality of IVR enabled communication devices.

Another aspect of the invention is to enable the caller to interact with the visual IVR menu by using a touch sensitive screen of the device.

Another aspect of the invention is to provide the position based visual IVR menus in a communication network.

Another aspect of the invention is to provide a device for communicating with a second communication device. The device includes an IVR application such as Visuphone. In an embodiment, the second communication device also includes the IVR application such as Visuphone.

Another aspect of the invention is to provide the visual IVR menu when the call is forwarded from one first party device to another first party device.

Another aspect of the invention is to provide visual IVR menus on receiving a call from the first party device on electronic devices with screens that are connected to Visuphone.

Yet another aspect of the invention is that the user may involve other one or more users or communication devices in a call from a first party device. Thereafter, the user, the another user may interact with the first party device in a conference call. In an embodiment, the user may leave the conference call in between the call.

Additional aspect of the invention is to provide a method for establishing a communication session in a communication network. The communication session may be established between two or more IVR enabled devices.

Further aspect of the invention is to provide a method for establishing a communication session among a plurality of communication devices. The communication devices may or may not include Visuphone.

Another aspect of the invention is to provide a method for establishing a communication session among a plurality of communication devices. The communication session is established by sending one or more packets when a data network such as the Internet is available.

Another aspect of the invention allows a device to call a destination automatically according to the predefined calling information entered by a user.

Another aspect of the invention saves the effort made by the user of the communication device for retrieving information from an IVR system of the dialed destination. The Visuphone dials the phone number of the destination and retrieves the information automatically depending on the predefined calling information. Later, the user can use the retrieved information as per his/her convenience. In an embodiment, the user may not wish to use the information at the time of its retrieval. In such a case the information is stored and can be accessed later.

Another aspect of the invention is to provide a cloud environment wherein a system plays a crucial role to enhance a user interface with one or more vendors. The cloud includes various modules and databases corresponding to the system that interact with each other over a network (such as Internet). Further, one or more user devices may interact with the system through the network simultaneously to complete their requests. Furthermore, the cloud environment enables the user devices to interact with service providers (having IVR system) directly without requiring wastage of time in waiting for the corresponding service associated with the service provider. For example, if a user wishes to connect to an IVR service provider such as airlines customer care, or any other telephone service provider, the user may provide a corresponding request to a system application (such as ‘Visuphone’) that may run on the user device. The application (hereinafter may interchangeably be referred to as ‘Visuphone’) may arrange for a visual IVR menu corresponding to the requested IVR service provider (having Interactive Voice Response system to cater to the needs of users) by interacting with the system on the cloud. Herein, the system may behave like a server for acting in accordance with the user's request and to provide appropriate solution to the user. For example, the system may provide the required visual menu corresponding to the user request (for example, here, airlines customer care), the user may select a required option therefrom. Additionally, the system may enable the application to dial a telephone number (corresponding to the requested service provider) as the backend process. Moreover, the system may guide the application to provide any required input (if required during the call in backend operation) wherein the user may not be aware of the backend functionality and thus the user may not require to wait and listen for each menu corresponding to IVR of the service provider. The application in connection and supervision of the system provides an alert to the user once the desired menu is reached or once an agent is available on the line to serve the user.

Yet another aspect of the invention is to manage one or more databases for providing effective solution to the user. Such databases may be created, updated, verified and accessed by system users or system administrators to for maintenance thereof. The databases may store various information such as (but not limited to) information corresponding to telephone numbers corresponding to various service providers, information corresponding to various IVR menus related to the service providers, users' information corresponding to registered users, past history of implementing the system by the registered users and various activities performed by various modules of the system.

FIG. 70 illustrates a cloud environment in accordance with various embodiment of the present invention. As depicted a plurality of devices such as device1 7002 a, device2 7002 b, device3 7002 c . . . and so on till device n 7002 n (hereinafter may collectively be referred to as ‘devices 7002’) connected to a service provider through a cloud 7006. The cloud 7006 represents a network (such as, but not limited to, Internet) that includes a system 7008 for providing effective interface between users of the devices 7002 and service providers 7004. Further, in an embodiment, the users may interact with the service providers through the system 7008. Herein, the devices 7002 or the users of the devices 7002 may be registered with the system 7008.

The registered users corresponding to the devices 7002 may provide the request to the system 7008 through the system application (i.e., Visuphone). Each device of the devoces 7002 may have the application (such as ‘Visuphone’) that is capable of interacting with the system. The application serves as an interface between user devices 7002 and the system 7008 that in turn enables the users of the user devices 7002 to get one or more solutions corresponding to their requests. Each user may request for visual menu corresponding to at least one of the service providers 7004. Herein, the service providers 7004 may have audio IVR system to enable the users to select a particular service of a plurality of services corresponding to the service providers.

The system 7008 may construct a visual IVR corresponding to audio IVR system for each service provider. Once, the application receives a user request from any of the devices 7002, the application may determine if a visual menu corresponding to the user request is available in a local database of the user device. Herein, in an embodiment, the user request may be detected based on the user's actions. For example, if a user dials a telephone number of a service provider, the application may detect the requirement of visual IVR menu corresponding to the service provider. Accordingly, the application may determine if the required visual IVR menu, corresponding to the dialed telephone number, is available in a database (such as phone user database, as shown in FIG. 71) of the system 7008. In an embodiment, the visual IVR menu may be stored in a local database corresponding to the user device such as (but not limited to) smartphone. For example, the user may store the visual IVR menu in the local database of the user device after using the same. If it is determined that the required visual IVR menu is not available in the database of the system 7008 then the application may provide the user request to the system 7008. The system 7008 may include a memory having one or more databases and a plurality of instructions that may be executable by a specialized processor. The system 7008 and its components may be understood more clearly in conjunction with FIG. 71.

The system 7008 may determine if the visual IVR menu is available in one or more other databases that may not be accessible directly by the application. If the visual IVR menu is available, the system 7008 may provide the visual IVR menu to the phone user database (i.e., the database corresponding to the system and accessible by the application) for enabling the application to access the visual IVR menu and to make the visual IVR menu available to the user. Alternatively, if the visual IVR menu is not available in any of the databases of the system 7008, the system 7008 may look for crowdsourcing option to retrieve the visual IVR menu of the required telephone number (corresponding to the service provider) from other user devices in the network. If one or more other user devices of the devices 7002 have the required visual IVR menu in their local database then the system 7008 may retrieve the same by utilizing the application installed in each and every user device. Furthermore, if the required IVR menu is not available through the crowdsourcing option then the system 7008 may guide the application to perform one or more actions to connect the user with the service provider through telephone call. Simultaneously, the system 7008 may construct the visual IVR menu on the fly when the application dials the telephone number. More specifically, the system 7008 may guide the application to dial the required IVR Number through the user's device (such as a smartphone) and may assist the user device in reaching the required Self-Service Option by automatically inputting the necessary DTMF inputs at necessary intervals. In an embodiment, such process of providing input may run in background. Further, the system 7008 may provide the application with a call park functionality and may connect the user with IVR when it has reached the required Menu Level or will connect the user to Agent once it detects Human Voice.

It may be appreciated by a person skilled in the art that the application may be installed in any user device with a platform such as (but not limited to) Android, Skype client, WebRTC Client, other Chrome plug-in (other browsers), Google Voice plug-in, Facebook App. Lastly, iPhone (IOS in general) client.

Further, the system 7008 may gather various IVR numbers and store in a particular database that may be dialed by the system 7008 to construct corresponding visual IVR menus. Such IVR menu may be made available to a user of a particular user device that is registered with the system 7008. For any requested IVR corresponding to a telephone number, if the visual IVR menu is available, the application may provide such visual IVR menu to the user for enabling the user to select the required option therefrom. For example, the user may select an option of speaking to the corresponding agent. The application may dial the telephone number and analyze the call in accordance with the information corresponding to the IVR menu that may be provided to the application by the system 7008. For example, such information may include (but is not limited to) the time interval when the audio IVR corresponding to the dialed number will ask for the verbal input and the type of input that needs to be provided at a particular time interval so as to perform such job of entering the DTMF inputs by the application without requiring the user's intervention and thus saving the user's time therein. Further, on detection of a human voice, the user may be connected to the agent of the requested service of the called service provider (through the telephone number).

Referring now to FIG. 71 that illustrates a block diagram of a system for enhancing user interface with one or more vendors, in accordance with an embodiment of the present invention. As depicted, the system 7008 (as described previously in conjunction with FIG. 70) may include a memory 7102 and a specialized processor 7104. The memory 7102 may include an instructions set executable by the processor to construct the visual IVR menu corresponding to one or more telephone numbers and further to enhance user interface with one or more vendors based thereon. Specifically, as depicted, the memory may include, but is not limited to, one or more modules having one or more instructions executable by the processor 7104. Further, the system 7008 may include a plurality of databases such as (but not limited to) a phone user database 7106 and a plurality of databases 7108. In an embodiment, the phone user database 7106 may be accessible by an application (such as ‘Visuphone’) corresponding to the system 7008 that may be installed in a user device. One or more visual IVR menus that are constructed by the system 7008 may be stored in the phone user database 7106 so as to enable the application to access the visual IVR menu therefrom, Further, the databases 7108 may include one or more other databases such as (but not limited to) a storage database 7110 and a dialer database 7112.

Further, the memory 7102 may include a plurality of modules having one or more instructions executable by the processor 7104. The plurality of module may include, but is not limited to, a crawler module 7114, a transcription and matching module 7116, a verification module 7118, a transfer module 7120, a call parking module 7122, an admin module 7124, and a crowdsourcing module 7126. Further, the memory 7102 may include additional instructions 7128, executable by the processor, to perform additional tasks that are not performed by the plurality of modules of the memory 7102.

The dialer database 7112 may include (but not limited to) a list of targeted IVR services, that may be dialed through the telephone service provider(s), for building the visual IVR menu. For example, a service owner may define a List of Mobile Station International Subscriber Directory Numbers (MSISDNs) for targeted IVR Services in the dialer database 7112 through a web interface. In an embodiment, an IVR Number Management Web Application System (NMAS) may act as a Web Interface for defining the list of MSISDNs in the dialer database 7112.

Further, the Crawler module 7114 may read the list of targeted IVR Services from the Dialer database 7112. In an embodiment, the Crawler module 7114 may start dialing multiple IVRs simultaneously utilizing multiple outbound SIP channels through the Telephone Service Provider. Every time that the Crawler module 7114 dials to an IVR, it may be for a different SIP trunk and identified as a different phone number. Further, prior to dialing a telephone number corresponding to the IVR service provider, the right SIP trunk number may need to be allocated). Further, the Crawler module 7114 may store the recorded audio of the main self-service menu in the Storage module 7110 prior to disconnecting the call. The recorded audio may be of any format, such as (but not limited to) WAV. Furthermore, the Crawler module 7114 may update the relevant IVR record in the Dialer database 7112 and may add a path of the recorded WAV file. Such path may enable easy access to the recorded file. The recorded audio file (such as recorded WAV file) may then be ready for Transcription and Pattern Matching by the Transcription and Matching Module 7116 (hereinafter may interchangeably be referred to as ‘TMM 7116’).

The TMM 7116 may read the audio file from the storage database 7110 corresponding to a certain Menu Entry in the Dialer database 7112. Further, the TMM 7116 may transcribe the recorded audio into Text and may store the transcribed text into the relevant IVR record in the Dialer database 7112. The TMM 7116 may now utilize the transcribed text for Matching Patterns for discovering a number of sub-menus that exist and may add a new menu record against each sub-menu in the dialer database 7112. Accordingly, the Crawler module 7114 may read the new submenu records from the Dialer database 7112 and call that IVR again and reach the desired sub-menu level by providing the relevant DTMF input that may be required during the call. The Crawler module 7114 may record & store the relevant sub-menu audio (such as WAV) in the Storage database 7110 and the path for the stored audio in the sub-menu record. Similarly, the process corresponding to the Crawler module 7114 may continue in a cyclic way until all the sub-menus have been discovered, recorded and transcribed.

Further, the verification module 7118 may retrieve the records from the Dialer database 7112 that have been successfully dialed and recorded by the Crawler module 7114. Further, the verification module 7118 may verify the visual IVR Menu built by the Crawler module 7114 and may force the Crawler module 7114 to redial the entries that have been wrongly interpreted. The verification module 7118 may further identify any missing part of the visual IVR menu through additional sub-menu records that have not been captured. Accordingly, the Crawler module 7114 may read the new Submenu Records from the Dialer Database 7112 and call that IVR again. Further, the Crawler module 7114 may record the relevant audio after automatically providing the requirement DTMF input whenever required.

Further, the verification module 7118 may enable one or more authenticated verifying authorities to re-verify the IVR Menus that have been completed by the Crawler module 7114 and re-verified by the Verification module 7118. In an exemplary embodiment, the verifying authorities may listen to the relevant audio files retrieved from the Storage database 7110 and verify them against the corresponding Menus. Further, this enables the verifying authorities to validate the correct Menu Options and to correct the wrong ones. Further, in an embodiment, the verifying authorities may provide assistance in shortening the voice menu option by selecting/suggesting only 2-3 key words against each menu item. Additionally, the verifying authorities may breakdown and fill different menu elements in forms wherever required.

Once the verification module 7118 has finalized the menus against a specific IVR Number, the transfer module 7120 may retrieve the cleansed IVR menu from the dialer database 7112. In an embodiment, the transfer module 7120 may copy the cleansed visual IVR Menus from Dialer database 7112 to phone User database 7106. The phone user database 7106 may be accessible by the application (such as ‘Visuphone’ that may be installed on the user device) to find the relevant IVR Menu once the user tries that particular IVR Number.

The application may check to see if a menu exists in the phone user database 7106 against the IVR Number that the user is trying to access. The phone user database 7106 may return the IVR Menu against the particular IVR Number query to the application of the user device. Accordingly, the user may navigate through the Visual IVR menu to reach the desired Self-service Menu or to talk to agent option that may be added in the phone user database 7106 as a record to be dialed with specific DTMF options that the user has opted for. More specifically, the application may log the user request in a database such as phone user database 7106.

The request stored in phone user database 7106 may be read by a call parking module 7122. Accordingly, the call parking module 7122 may instruct the application to dial the required IVR Number through the user's device (such as, but not limited to, a smartphone) and may guide the application reach the required Self-Service Option by automatically inputting the necessary DTMF inputs at necessary intervals. In an embodiment, such information corresponding to the necessary intervals when the DTMF input is required may be determined through the phone user database 7106 that may be stored as a record with the visual IVR menu.

Further, the call parking module 7122 may further provide call park functionality to the application and may connect the user with IVR when it has reached the required Menu Level or may connect the user to Agent once a Human Voice is detected.

Further, the admin module 7124 may detect requirement of a visual IVR menu, corresponding to the user request, and presence thereof in at least one of: a phone user database, and a dialer database. More specifically, the admin module 7124 may view the phone user database 7106 for Menus that are ready and the Menus that the users tried but does not exist. Further, the admin module 7124 may be able to view the Dialer database 7112 for the status of the Menus that are under construction and under verification. Further, the admin module 7124 may administrate one or more authorities (such as verification authorities) to make necessary arrangements to fulfill the user's request corresponding to a particular visual IVR menu. The admin module 7124 ensures the correct functioning of the system 7008.

Moreover, an additional set of instructions 7128 is provided for performing one or more functionalities to ensure effective functionality of the system 7008. For example, the additional instructions 7128 may determine information corresponding to telephone numbers of various IVR menus, average frequency of times a particular IVR menu is required by one or more users in a network (such as the network 7006, as described in conjunction with FIG. 70), information corresponding to each user device that may have a particular visual IVR menu in its local database; information related to description of IVR menu and corresponding wait time until the agent is detected (through human voice) in a particular IVR menu, information corresponding to form of menu that is stored in any of the databases whether the menu is in construction form, completed form or verified form etc., information related to profiles of various users corresponding to the user devices, information related to past activities of the users, users' interests, situation etc. Herein, the information corresponding to users such as profile information, past activities of the users, interests and situation of the users may be analyzed by the processor 7104 to determine probability of expected IVR menu in near future so as to enable the system to arrange the corresponding telephone numbers and to construct of related visual IVR menus in advance.

In an embodiment, information gathered based on the additional instructions 7128 may be utilized by the system 7008 to perform crowdsourcing through the crowdsourcing module 7126. Specifically, the crowdsourcing module 7126 may enable retrieval of one or more visual IVR menus corresponding to the user request from one or more other user devices in the network. In an embodiment, the crowdsourcing module 7126 may determine the presence of the visual IVR menu in any user device based on a copy of the common application (such as ‘Visuphone’) in each user device. Thus, in an embodiment, the crowdsourcing module 7126 may interact with the application to determine the possibility of the crowdsourcing in the network.

It may be appreciated by a person skilled in the art that the system 7008 may not be restricted to the aforementioned components described here above. Further, many more components may be introduced to perform functionality within the spirit of the invention.

FIG. 72 illustrates a method flow diagram for enhancing user interface with one or more vendors in accordance with an embodiment of the invention. The method may be understood in conjunction with the system components as described in FIG. 71. As depicted, once the method commences, at step 7202, the method constructs a visual IVR menu corresponding to a telephone number. Herein, the method may gather various telephone numbers corresponding to IVR from various sources. Further, the method may determine various IVR numbers based on users' requirements, interests and situation. For example, if the user travels by air every weekend, the method may track such activity of the user and may determine that the user may require IVR information corresponding to airline services or for booking a hotel at some frequently visited places (by the user). Constructing the visual IVR menu may include recording the IVR by dialing corresponding telephone number, transcribing the recorded IVR into text. The transcribed IVR text may be analyzed to perform pattern matching with the recorded audio IVR and to verify whether the transcribed text and corresponding information is valid or not. Herein, each and every menu of the IVR may be recorded and transcribed step by step until all the menus and submenus are recorded and transcribed. Once the transcribed text menu and corresponding information is validated, the validated visual IVR menu may be provided to an application (such as ‘Visuphone’) that may be stored in a user device. In an embodiment, every time, the method records, transcribes or validates any menu, the corresponding information may be stored in one or more databases in a memory. Further, the method may detect requirement of a visual IVR menu, corresponding to the user request, and presence thereof in at least one of plurality of databases.

Specifically, as depicted at step 7204, the visual IVR menu may be presented based on a user request corresponding to the telephone number to enable a user to select an option therefrom. Further, at step 7206, once the user selects an option from the visual IVR menu, the method may provide call parking functionality wherein the method may provide the guiding instructions to the application corresponding to the user device of the user. Such guiding instructions enable the application to perform one or more functionalities for connecting the user to an IVR based on the selected option.

For example, the method may guide the application based on a user request to perform at least one of: dialing a telephone number corresponding to the user request, the user request being determined based on a user selection from a visual IVR menu corresponding to the telephone number; inputting one or more required DTMF inputs at particular intervals; and connecting a user corresponding to the user device with an IVR on detection of human voice.

Hereinabove, the user may be connected to the IVR based on his/her selection from the visual IVR menu. However, the user may not be required to wait for establishing such connection with the IVR based system of a service provider. The call parking functionality of the method may run in background and the application may provide an alert to the user once the call has reached to the level of the IVR menu in accordance with the selected option or any human (agent's) voice is detected.

It may be appreciated by a person skilled in the art that the method may be implemented to perform functionalities corresponding to the system and various components corresponding thereto. Thus, the steps 7202, 7204 and 7206 of the method flow diagram (as depicted in FIG. 72) may be implemented based on the description provided in conjunction with FIGS. 70 and 71. Further, it may be further appreciated that the method steps are not limited to the steps as shown in FIG. 72. Further, many more steps may be defined to perform various functionalities in light of current invention.

An advantage of the invention is that the communication device can send more information as data packets/messages to the second communication device by using a data network. The data packets may be exchanged among various communication devices. The data packet may include information required for establishing a communication session.

An advantage of an embodiment of the invention is that the user himself/herself does not have to dial the destination again and again for receiving information. Visuphone 104 present at device 102 of caller 106 may dial the phone number of the destination automatically based on the predefined calling information set by the caller 106. Further, Visuphone 104 requests and receives the requested or inquired information automatically.

Another advantage of the invention is that the user does not have to wait for long time for retrieving any information from a destination. When the requested information is not available, the user may schedule a call at later time by entering few settings on device 102.

Thereafter, Visuphone 104 may dial the phone number of the destination according to the entered settings automatically and may download the desired information. The downloaded information may be used by the user at a later time.

Additional advantage of the invention relates to callers who are more proficient in foreign language. Visuphone may provide the visual IVR menu in multiple languages. A caller can than choose a language of his choice and download to his device database the menu in that language.

Yet another advantage of the invention relates to IVR that ask for voice commands. This IVR interface is for some caller harder to use due to accent or other problems. The database could be provided with the option has been described before for the system to output voice command according to caller selection of the menu options.

Further, yet another advantage of the present invention relates to enhancement of the user interface with one or more vendors. The system provides various advantageous features to enhance the user interface with the vendors' IVR systems without requiring time consumption at the user's end. For example, the present invention provides call parking functionality for enabling the user to get connected with the vendor (service provider) without waiting and requiring to listen the whole IVR, instead the system may perform the functionality of managing the call and alerting the user when the user's turn comes to involve in direct speaking with an agent and so on. Further, the present invention constructs the visual IVR menus and validates the correctness thereof. Additionally, the present invention provides crowdsourcing functionality for arranging the visual IVR menu if it is not constructed to save the time of users.

Embodiments of the invention are described above with reference to block diagrams and schematic illustrations of methods and systems according to embodiments of the invention. It will be understood that each block of the diagrams and combinations of blocks in the diagrams can be implemented by computer program instructions. These computer program instructions may be loaded onto one or more general purpose computers, special purpose computers, or other programmable data processing translator to produce machines, such that the instructions which execute on the computers or other programmable data processing translator create means for implementing the functions specified in the block or blocks. Such computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the block or blocks.

While the invention has been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The invention has been described in the general context of computing devices, phone and computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, characters, components, data structures, etc., that perform particular tasks or implement particular abstract data types. A person skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Further, the invention may also be practiced in distributed computing worlds where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing world, program modules may be located in both local and remote memory storage devices.

This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope the invention is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims. 

1. A system for enhancing user interface with vendors, the system comprising: a call-parking module,executable by a specialized processor, communicably coupled to anapplication at a user device through the internet and configured for guiding the application based on a user request to perform at least one of: a) dialing a telephone number corresponding to the user request, the user request being determined based on a user selection from a visual IVR menu corresponding to the telephone number; b) inputting one or more required DTMF inputs at particular intervals; and c) connecting a user corresponding to the user device with an IVR on detection of human voice.
 2. The system of claim 1 further comprising a memory having a set of instructions executable by a specialized processor for maintaining an Interactive Voice Response (IVR) database, said database comprises a plurality of visual IVR menus, each of the visual IVR menus associated with a telephone number of a vendor, wherein each of said plurality of visual IVR menus has a particular time of operation record.
 3. The system of claim 1 further comprising a memory having a set of instructions executable by the specialized processor for constructing a visual IVR menu on the fly when the application dials the telephone number corresponding to the user request and when the visual IVR corresponding to the telephone number is not available in a database.
 4. The system of claim 1 further comprising a crowdsourcing module, executable by the specialized processor, for retrieving a visual IVR menu corresponding to the user request from one or more other user devices in a network.
 5. The system of claim 1 further comprising: a crawler module configured to dial each of a plurality of IVR numbers through a telephone service provider to record audio corresponding to each menu and submenus corresponding thereto; a transcription and matching module configured to transcribe the recorded audio into text format, the transcribed text being stored into corresponding IVR menu record in a dialer database; a verification module to validate correctness of each entry corresponding to each IVR menu of the dialer database; and a transfer module for providing a validated copy of each IVR menu from the dialer database to a phone user database, thereby facilitating the application to detect availability of the IVR menu corresponding to the telephone number dialed by the user.
 6. The system of claim 1 further comprising an admin module configured to detect requirement of a visual IVR menu, corresponding to the user request, and presence thereof in at least one of: a phone user database, and a dialer database.
 7. A system for enhancing user interface with vendors, the system comprising: a memory comprising a set of instructions, a processor for executing the set of instructions and a connection to the internet, the memory further comprising one or more databases for storing a plurality of IVR menus associated with one or more telephone numbers of a plurality of vendors, wherein each of said plurality of IVR menus has a particular time of operation record.
 8. The system of claim 7, wherein the one or more databases further comprise a set of information associated with each of the plurality of IVR menus.
 9. The system of claim 7, wherein at least one of the one or more databases comprises: a plurality of voice records and associated text record for each of said voice records.
 10. A network comprising: a system comprising: a memory having a set of instructions, a specialized processor to execute the set of instructions for: constructing one or more visual IVR menus corresponding to one or more telephone numbers; and providing a copy of a suitable visual IVR menu,corresponding to a user request, from the one or more visual IVR menus to a phone user database associated with a user device, wherein the suitable visual IVR menu is retrievable from the phone user database by an application at the user device for providing to a user associated with the user device.
 11. The network of claim 10 further comprising one or more telephone service providers, at least one of the one or more telephone service providers associated with the telephone number being called by the application in a background operation when the user selects an option from the suitable visual IVR menu.
 12. The network of claim 10, wherein the system further comprises a call parking module for providing guiding instructions to the application, wherein the application is guided to alert the user when a human voice is detected from the background operation, thereby enabling connection between the user and the human associated with the at least one of the one or more telephone service providers.
 13. The network of claim 10, wherein the system comprises one or more modules, executable by the specialized processor,to construct the one or more visual IVR menus by dialing the one or more telephone numbers corresponding to the one or more telephone service providers.
 14. The network of claim 10, wherein the system further comprises a verification module for validating correctness of each of the constructed visual IVR menus.
 15. The network of claim 14, wherein the verification module further enables one or more authenticated verifying authorities to perform at least one of: verify each entry corresponding to each of the visual IVR menus in a dialer database based on recorded audio file corresponding thereto stored in audio storage database; and one or more modifications in IVR record corresponding to each of the visual IVR menus in the dialer database.
 16. The network of claim 10, wherein the system further comprising a crowdsourcing module for retrieving a visual IVR menu corresponding to the user request from one of one or more other user devices in the network.
 17. The network of claim 10, wherein the system further comprising an admin module configured to detect requirement of a visual IVR menu, corresponding to the user request, and presence thereof in at least one of: a phone user database, and a dialer database.
 18. The network of claim 10, wherein the system further comprising a crawler module configured to dial the one or more telephone numbers corresponding to one or more IVR service providers to record audio corresponding to each menu associated with each of the one or more telephone numbers.
 19. The network of claim 18 further comprising a transcription and matching module configured to transcribe the recorded audio into text format, the transcribed text being stored into corresponding IVR menu record in a dialer database.
 20. The network of claim 19, wherein the transcription and matching module further configured to perform pattern matching by utilizing the transcribed text to determine requirement of adding a new menu record corresponding to a submenu in the dialer database. 